【发布时间】:2016-09-08 09:28:33
【问题描述】:
我是 node js 的新手,我需要查询我的 node js 脚本,以便它从我的 MongoDB 返回查询项。 我在做什么,我使用节点 js 对特定的 questionId 应用查询,在 MongoDB 数据中得分为 1 的数据以数组形式存储, 这样查询将只返回分数的 1 questionId 而不是分数的 0。
{
"_id": "57cfc7b86f0e51ee17d4c512",
"question": [
{
"questionId": "57ce608e2a0d6cad8c48ef8f",
"score": 1,
},
{
"questionId": "57ce608e2a0d6cad8c48ef90",
"score": 0,
},
{
"questionId": "57ce608e2a0d6cad8c48ef91",
"score": 0,
}
]
}
我应用的节点 js 代码查询是 我尝试了两个查询,但它们返回所有数组项 查询 = {'question.score':1}; 查询 = {'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”,但它返回数组的所有项目。
【问题讨论】:
-
由于数组question是文档的一个字段,所以你总是会取回所有的内容。您无法通过普通查询来实现这一点,而是尝试使用 agregation documentation
-
你可以在here试试答案。
标签: javascript arrays node.js mongodb