【发布时间】:2019-12-03 21:03:51
【问题描述】:
我有一个收藏。我只想获取 user_surveys 数组中 survey_delete_flag 为 0 的那些对象
{
"_id":"5d38395531335242147f9341",
"user_status":"Active",
"user_surveys":[
{
"survey_id":"1563965898505",
"survey_name":"Deepak Survey",
"survey_delete_flag":0,
"survey_status":"Active"
},
{
"survey_id":"1563971438976",
"survey_name":"Infra Survey",
"survey_delete_flag":0,
"survey_status":"Active"
},
{
"survey_id":"1564059777417",
"survey_name":"Infra2 Survey",
"survey_delete_flag":1,
"survey_status":"Active"
}
]
}
我正在使用 mongodb npm 库并尝试如下,但它只返回与 _id 匹配的所有文档。
let query = {_id: new objectId(authenication.loggedUser.user_id)}
let subquery= {user_surveys: {$elemMatch: {survey_delete_flag:0}}}
survey_db.collection('user_registration').findOne(query,subquery,(err,
doc) => {
if (!err) {
console.log(doc)
res.json({ res: doc.user_surveys })
} else {
return res.json({ err: err })
}
}
我期待这样的结果
[
{
"survey_id":"1563965898505",
"survey_name":"Deepak Survey",
"survey_delete_flag":0,
"survey_status":"Active"
},
{
"survey_id":"1563971438976",
"survey_name":"Infra Survey",
"survey_delete_flag":0,
"survey_status":"Active"
}
]
【问题讨论】: