2017-06-19 14 views
0

NodeJSでクエリを記述しようとしていて、構文に問題があるだけです。MongoDBを使用したNodeJS - 配列オブジェクトの1つに一致するネストされたコレクションを取得する

私はMongoを初めて使っています。私はいくつかの複雑な(少なくとも私のレベルでは)クエリに時間があります。

私はmongo Idの配列を持っています(mongoArrと呼ぶことができます)。 私はdataというコレクションを持っています。 このデータコレクション内には、innerNestedというネストされたオブジェクトがあります。

var output = []; 
for (var i=0;i<data.length;i++) 
{ 
    if (mongoArr.indexOf(data[i].innerNested.$id) != -1) 
    { 
    output.push(data[i]; 
    } 
} 
:私は取得しようとしています は、それがされているだろうシンプルなJSをした場合は、その「innerNested」idは私の配列

におけるIDのいずれかに等しいことを「データ」のすべての要素でありますあなたはマングースを使用している場合

+0

あなたの擬似コードは問題ありません。しかし、セミコロンの前に擬似 ')'を挿入する必要があります。つまり、あなたの擬似コードが疑似ワーキングではないのです。 –

答えて

0

することは、あなたはIDがIDのあなたの配列内であれば句「で$」はチェックします。この

Person.find({ 
    'innerNested._id': { 
     $in: mongoArr 
    } 
}, function(err, docs) { 
    console.log(docs); 
}); 

のようなクエリで直接「innerNested」のフィールドを参照することができます。

関連する問題