2017-04-01 1 views
0

MEAN 스택에서 mongo db에서 얻은 레코드를 배열에 저장하려하지만 배열에 레코드를 저장할 수 없습니다.mongo db에서 얻은 레코드의 배열 푸시

이것은 내 코드이며, projectimage에서 얻은 레코드를 fulldetails [] 배열로 푸시하려고하지만 실패했습니다. 배열

var express = require("express"), 
    router = express.Router(), 
    project = require("../../models/project.js"), 
    projectimage = require("../../models/projectimages.js"), 

      var details=data; 
       var fulldetails=[]; 

for (var i = 0; i < details.length; i++) { 
    var prjct_id=details[i]._id; 
    console.log('below'+i); 
    fulldetails.push(details[i]); 
    projectimage.findOne({projectId: prjct_id}, function(err, data){ 
     fulldetails.concat(data); 
        }); 
    console.log(fulldetails); 
     return false;  
} 
+0

당신은이 데이터베이스에 지속 할 문서에')에 속하고 (저장 '사용하는 문서에'fullDetails'을 설정해야합니다. 그것이'project'이면 프로젝트 문서를 찾고 'project.fullDetails = fullDetails' 그리고 나서'project.save()'와 같은 것을 찾습니다. – Veeram

+0

'fulldetails' 배열을 어디에서 확인하고 있습니까? 즉, 배열이 비어 있음을 어떻게 말하고 있습니까? 나머지 코드를 공유하십시오. –

+0

@Veeram, 그가 생각하는 것이 아닙니다. 그는 데이터를 배열로 밀어 넣고 끝에 그것을보고 싶어합니다. 아마도 모든 호출을 찾기 전에'fullDetails'를 검사했을 것입니다. –

답변

0

에 몽고 DB를 기록을 저장하기 위해 나에게 가능한 솔루션을 제안 내가 당신이 원하는 음주 만약 내가 잘못 정정 해줘, 당신의 몽고 콜렉션의 배열을 얻을 것입니다 무엇을 생각합니다.

Mongo 쿼리가 성공적으로 실행되었다고 가정하고 레코드를 올바르게 반환합니다. 그렇다면 toArray 함수를 사용하여 콜백에 배열을 얻을 수 있습니다.

// let's say Furniture is your collection 
let furniture = Furniture.find({}); 
let details = []; 
furniture.toArray((err, array) => { 
    if (err) return; 
    details = array; // now details has your collections' documents 
}); 

this이 당신이 찾고 있던 무슨이 아닌 경우 알려줘 참조하십시오.

0

나는 당신이 전체 세부 사항의 편평한 배열을 얻는 것을 시도하고 있다는 것을 생각한다. 내 가정이 맞다면, 당신은 여기 내 솔루션을 시도 할 수 :

var fulldetails=[]; 

for (var i = 0; i < details.length; i++) { 

    var prjct_id=details[i]._id; 

    projectimage.find({projectId: prjct_id}).toArray(function(err, data){ //convert data to array first 
     console.log(data); 
     fulldetails.concat(data); // concat data to fulldetails to get a flat array 
    }); 
} 
+0

데이터를 삽입했지만 데이터가 삽입되지 않았습니다. fulldetails 배열로 내가 시도한 코드를 게시했습니다 –

+0

찾기 쿼리 바로 다음에 내 코드에 표시된대로 toArray 함수가 누락 된 것을 보았습니다. 반환 된 데이터가 배열이 아닌 배열이 아닌 커서 유형이기 때문에 중요합니다. –

관련 문제