需要有关 Mongo 数据库查询的帮助
Need Help on Mongo DB query
系统中已有一个人员集合,如下所示:
{
"_id" : ObjectId("536378bcc9ecd7046700001f"),
"engagements":{
"5407357013875b9727000111" : {
"role" : "ADMINISTRATOR",
},
"5407357013875b9727000222" : {
"role" : "DEVELOPER",
}
}
}
为了让多个用户对象可以与特定角色有相同的参与,我需要在这个层次结构中触发一个查询,在那里我可以获得所有在参与 属性 中有特定参与的人人物合集。
我想得到所有拥有
5407357013875b9727000222
在订婚中。
我知道可以使用 $in
运算符,但问题是我需要比较子 Json 约定的键。
我觉得就这么简单:
db.users.find({'engagements.5407357013875b9727000222': {$exists: true}})
如果您想匹配多个参与 ID,则必须使用 $or
。抱歉,这里没有 $in
。
但是请注意,您需要重组数据,因为无法为该数据编制索引来帮助进行具体查询。在这里,我假设您关心性能并且此查询的使用频率足以对数据库产生影响。
系统中已有一个人员集合,如下所示:
{
"_id" : ObjectId("536378bcc9ecd7046700001f"),
"engagements":{
"5407357013875b9727000111" : {
"role" : "ADMINISTRATOR",
},
"5407357013875b9727000222" : {
"role" : "DEVELOPER",
}
}
}
为了让多个用户对象可以与特定角色有相同的参与,我需要在这个层次结构中触发一个查询,在那里我可以获得所有在参与 属性 中有特定参与的人人物合集。
我想得到所有拥有
5407357013875b9727000222
在订婚中。
我知道可以使用 $in
运算符,但问题是我需要比较子 Json 约定的键。
我觉得就这么简单:
db.users.find({'engagements.5407357013875b9727000222': {$exists: true}})
如果您想匹配多个参与 ID,则必须使用 $or
。抱歉,这里没有 $in
。
但是请注意,您需要重组数据,因为无法为该数据编制索引来帮助进行具体查询。在这里,我假设您关心性能并且此查询的使用频率足以对数据库产生影响。