2017-06-25 3 views
0

私は、次のコードを持っている:NodeJS - 二つの異なるコレクションのデータを使用しようと

var res1 = db.collection('col1').find(query1).toArray(); 
var res2 = db.collection('col2').find(query2).toArray(); 

          Promise.all([res1, res2]) 
           .then(([resultRes1, resultRes2]) => { 
            console.log('resultRes1', res1); 
            console.log('resultRes2', res2); 
            debugger; 
          }).catch(console.error); 

今、それらの一つ一つが素晴らしい働いている個別に私の問題は、私は時に両方の機能を実行したいということです そのうちの1つが実行されます。

私は彼らの巣にしようと私は私が行うすべては、それらのコレクションから読み込まれていても、「MongoDBのトポロジが破壊された」という警告を(得続ける - 私は何も

任意のアイデアを変更するわけではない多くのおかげで

?。
+0

あなたは両方が行われている何かを実行しようとしているコードを投稿してください。 –

答えて

1

ポストあなたは両方が行われている何かを実行しようとしているコードに。あなたはこのような何かをしようとしていますか?

var res1 = db.collection('col1').find(query1); 
var res2 = db.collection('col2').find(query2); 
Promise.all([res1, res2]) 
    .then(([resultRes1, resultRes2]) => { 
     console.log('resultRes1', resultRes1); 
     console.log('resultRes2', resultRes2); 
    }) 
    .catch(console.error); 
+0

コードが更新されました - 結果の配列をこのようにすることはできません。 – user1322801

1
var collection = db.collection(collection1); 
var Res = collection.aggregate([{ 
    $lookup: { 
     from: "collection2", 
     localField: "ID", 
     foreignField: "ID", 
     as: "Sample" 
    } 
}], function(err, result) { 
    if (result != null) { 
     for (var i = 0; i < result.length; i++) { 
      delete result[i].Sample; 
     } 
     res.send(result); 
    } 
}) 
}; 
関連する問題