【发布时间】:2021-05-24 10:53:54
【问题描述】:
我正在尝试删除所有孤立项目。在 db 中,我需要获取删除所有用户的项目。已经尝试使用以下查询,但它总是给出删除字段不存在的结果。
db.projects.find({
"user_list": {
$not: {
$elemMatch: {
"deleted": false
}
}
},
"user_list.deleted": {$exists: true}
}, {"user_list": 1})
在编写查询以获取删除所有用户的唯一项目时需要帮助。例如,在下面的示例中,我应该只获取第二个文档。
项目列表
/* 1 */
{
"_id" : ObjectId("636a6aa584d5f92f14f0c548"),
"user_list" : [
{
"deleted" : false,
"user_id" : "602cf72a3fcad3cc605b8d59"
},
{
"deleted" : true,
"user_id" : "602cf72a3fcad3cc605b8d50"
}
]
}
/* 2 */
{
"_id" : ObjectId("602e443bacdd4184511d6e29"),
"user_list" : [
{
"deleted" : true,
"user_id" : "602cf72a3fcad3cc605b8d59"
},
{
"deleted" : true,
"user_id" : "602cf72a3fcad3cc605b8d59"
},
{
"deleted" : true,
"user_id" : "602cf72a3fcad3cc605b8d59"
}
]
}
/* 3 */
{
"_id" : ObjectId("60332242acdd4184511ed664"),
"user_list" : [
{
"deleted" : true,
"user_id" : "602cf72a3fcad3cc605b8d59",
},
{
"deleted" : true,
"user_id" : "602cf72a3fcad3cc605b8d59"
},
{
"user_id" : "602cf72a3fcad3cc605b8d59"
}
]
}
【问题讨论】:
-
您也可以检查该字段是否存在。
-
谢谢@prasad_ 是的,也试过了,但没有结果。让我更新我尝试过的查询。
标签: mongodb mongodb-query