私はノードjsで新しく、私のMongoDBからクエリ項目を返すように、ノードjsスクリプトのクエリが必要です。 は、私は私はMongoDBのデータ内の1は、アレイ状に保存されているスコア特定questionIdのノードのJSを使用してクエリを適用し、何をやって、 ので、そのクエリは、スコアの1 questionIdはないのスコアを返します0mongodbの配列項目のノードjsクエリ
{
"_id": "57cfc7b86f0e51ee17d4c512",
"question": [
{
"questionId": "57ce608e2a0d6cad8c48ef8f",
"score": 1,
},
{
"questionId": "57ce608e2a0d6cad8c48ef90",
"score": 0,
},
{
"questionId": "57ce608e2a0d6cad8c48ef91",
"score": 0,
}
]
}
私が適用しているノードjsコードクエリは です。私は2つのクエリを試しましたが、すべての配列アイテムを返します。 query = {'question.score':1}; query = {'質問':{$ eq:{'スコア':1}}};
function(){
var query = {'question.score':1};
childQuizInfo.findOne(query,function(err,data){
if(err) return next(err);
res.send(data);
});
}
それが唯一の「questionId」応答を返すように、私はこのクエリを使用しています:「57ce608e2a0d6cad8c48ef8f」が、それは、配列のすべての項目を返します。
配列* question *はドキュメントのフィールドなので、常にすべてのコンテンツが返されます。あなたは普通のクエリでこれを達成することができませんでした。代わりに*アグレージョ*を使用してみてください。[documentation](https://docs.mongodb.com/manual/aggregation/) –
[こちら](http: //stackoverflow.com/questions/3985214/retrieve-only-the-queried-element-in-an-object-array-in-mongodb-collection)。 –