reviews
配列内のオブジェクトを取得しようとしているのは、私が渡しているfb_id
の配列と一致しています。私はそれらを働かせるようには思わない。これは私が "マングースとだけfb_id
持つ配列内のオブジェクトの結果たいの年代をfb_id
の配列を送信しますDBオブジェクト内の配列一致要素からオブジェクトのみを取得する
{
"_id": {
"$oid": "5841d18187dcc74805887a6a"
},
"product_id": "583ae172231f5ec01db5727e",
"category": "Smartphones",
"reviews": [
{
"fb_id": "111",
"name": "name1",
"user_img": "imgurl1",
"title": "asdakj",
"description": "jnkjnkj",
"rating": 5,
"_id": {
"$oid": "5841d18187dcc74805887a6b"
}
},
{
"fb_id": "222",
"name": "name2",
"user_img": "imgurl2",
"title": "dadad",
"description": "asdasdad",
"rating": 3,
"_id": {
"$oid": "5841d1d0cbdf333411530ebd"
}
},
{
"fb_id": "333",
"name": "name3",
"user_img": "img url3",
"title": "asdad",
"description": "asdads",
"rating": 5,
"_id": {
"$oid": "5841d4c2174270f807084721"
}
},
{
"fb_id": "444",
"name": "name4",
"user_img": "imgurl4",
"title": "adasd",
"description": "kjnkj",
"rating": 1,
"_id": {
"$oid": "5841d569eae1b6600ea1ca92"
}
}
],
"__v": 0
}
の私の実際の文書です。
これが今の私のクエリです:
Review.find({ product_id: '583ae172231f5ec01db5727e' }, { 'reviews.$.fb_id': { $in: <array of fb_id> } }, function(err, results) {
if (err) {
throw err;
};
console.log(results)
});
しかし、それは私に、このエラーを与える:
MongoError: Unsupported projection option: reviews.$.fb_id: { $in: [ 111.0 ] }
EDIT:小さなクエリの後、今私はいくつかの結果を得るためにしています。しかし、結果にはfb_id
のものと一致する最初のオブジェクトだけがあり、すべてではありません。
どうすればいいか教えてください。
これを見てください。 http://stackoverflow.com/a/40932617/2683814基本的に$ filter aggregator演算子を使用して、指定された条件に一致するすべてのレコードを返します。 – Veeram