[英]mongoose - exclude embedded document from query based on condition
我正在使用 mongoose。 我的數據庫中有以下文檔:
question: {
"id": "60ab9bd0d40a362189e842ff",
"deletedAt": null
"answers": [
{
"id": "60ab9e4e58a72f4768c5f63b",
"deletedAt": "2021-05-28T20:23:30.409Z",
},
{
"id": "60ab9e4e58a72f4768c5f64c",
"deletedAt": null,
},
}
}
我想得到deletedAt字段為null的所有問題,以及deletedAt
字段為deletedAt
的所有答案。 所以我的查詢結果應該是這樣的:
question: {
"id": "60ab9bd0d40a362189e842ff",
"deletedAt": null
"answers": [
{
"id": "60ab9e4e58a72f4768c5f64c",
"deletedAt": null,
},
}
}
我試過的:
Question.aggregate([
{ $match: { deletedAt: null }},
{ $project: {
answers: {
$filter: {
input: "$answers",
as: "answer",
cond: { "$$answer.deletedAt": null }
}
}
}
},
{ $sort: sort },
{ $limit: limit + 1 }
]}
我會非常感謝任何形式的幫助!
使用$eq
運算符匹配$filter
運算符中的條件,
{ $project: {
answers: {
$filter: {
input: "$answers",
as: "answer",
cond: {
$eq: ["$$answer.deletedAt", null]
}
}
}
}
},
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.