我如何查询猫鼬以获取“答案”数组,其中“答案”数组中的“目标”是“意识”

时间:2019-05-23 08:38:00

标签: arrays node.js json mongoose

我正在尝试使用nodeJS中的猫鼬从“响应” mongoDB中获取“答案”列表,其中“目标”数组还包含“意识”和特定的“ projectId”。但它会返回所有列表。

Response.find({projectId: req.params.projectId,"answers.objectives": "Awareness"})
    .populate()
    .then(survey => {
        res.json(survey);
    }));

我尝试了猫鼬find关键字,但是没有用 这是mongoDB结构:
This is mongoDB Structure

1 个答案:

答案 0 :(得分:0)

对对象的嵌套数组使用位置运算符$,以便仅获取匹配的元素。参见下文:

Response.find({projectId: req.params.projectId,"answers.objectives": 
    "Awareness"},{"answers.objectives.$": 1})
.populate()
.then(survey => {
    res.json(survey);
}));