我是节点js中的新手,我需要查询我的节点js脚本,以便它从我的MongoDB返回查询项目。 我在做什么,我使用特定questionId节点JS这比分是1比内MongoDB的数据存储在阵列形式应用的查询, 使查询将返回唯一的比分的1 questionId没有进球的0节点js查询mongodb中的数组项目
{
"_id": "57cfc7b86f0e51ee17d4c512",
"question": [
{
"questionId": "57ce608e2a0d6cad8c48ef8f",
"score": 1,
},
{
"questionId": "57ce608e2a0d6cad8c48ef90",
"score": 0,
},
{
"questionId": "57ce608e2a0d6cad8c48ef91",
"score": 0,
}
]
}
我试过的节点js代码查询是 我试过了两个查询,但是他们返回所有数组项目 query = {'question.score':1}; query = {'question':{$ eq:{'score':1}}};
function(){
var query = {'question.score':1};
childQuizInfo.findOne(query,function(err,data){
if(err) return next(err);
res.send(data);
});
}
我使用这个查询,以便它返回回应只有“questionId”:“57ce608e2a0d6cad8c48ef8f”,但它返回数组中的所有项目。
由于array * question *是文档的一个字段,您将始终获取所有内容。你不能用简单的查询来实现这一点,而是尝试使用* agregation * [documentation](https://docs.mongodb.com/manual/aggregation/) –
你可以在[here](http: //stackoverflow.com/questions/3985214/retrieve-only-the-queried-element-in-an-object-array-in-mongodb-collection)。 –