【发布时间】:2019-05-04 20:01:06
【问题描述】:
我有一个查询要查找用户 CreatedBy 是否在 SharedWith 中。我想反转查询以检查CreatedBy 是否不在SharedWith 中。
[
{
"$match": {
"$and": [
{
"$and": [
{
"SharedWith": {
"$exists": true
}
},
{
"$expr": {
"$in": [
"$CreatedBy",
"$Multi_User"
]
}
}
]
}
]
}
}
]
MongoDB 不支持直接使用 $nin 或 $not 进行 $and 查询。
知道如何实现这一点。
用户文档如下所示,
Collection = [
{"CreatedBy":
{"_id": "User001",
"Email": "user@eg.com",
"Name": "User001"},
"SharedWith": [
{"_id": "User001",
"Email": "user@eg.com",
"Name": "User001"},
{"_id": "User002",
"Email": "user@eg.com",
"Name": "User002"},
{"_id": "User003",
"Email": "user@eg.com",
"Name": "User003"},
]}
]
【问题讨论】:
标签: mongodb mongodb-query aggregation-framework pymongo