Mongodb Mongo:查询数组内的对象
我已经尝试使用Mongodb Mongo:查询数组内的对象,mongodb,mongodb-query,Mongodb,Mongodb Query,我已经尝试使用$in和$elemMatch来查询对象数组中与成员id字段匹配的所有对象,它们都没有返回数据。示例查询: db.events.find({"source_site":{"event_hosts":{$in:[{"member_id":12300113}]}}}) 及 要在Mongo中查询的示例数据: { "_id" : ObjectId("541890c2660a17aa1f7b7bd4"), "source_site" : { "event_ho
$in
和$elemMatch
来查询对象数组中与成员id
字段匹配的所有对象,它们都没有返回数据。示例查询:
db.events.find({"source_site":{"event_hosts":{$in:[{"member_id":12300113}]}}})
及
要在Mongo中查询的示例数据:
{
"_id" : ObjectId("541890c2660a17aa1f7b7bd4"),
"source_site" : {
"event_hosts" : [
{
"member_id" : 12300113,
"member_name" : "Sal Corthen"
},
{
"member_id" : 139930702,
"member_name" : "Erin Morgen"
}
]
}
}
我做错了什么?如果要直接匹配
成员id
,可以使用:
db.events.find({“source\u site.event\u hosts.member\u id”:12300113})
或在中使用$
db.events.find({“source_site.event_hosts.member_id:{$in:[12300113]})
或使用$elemMatch
:
db.events.find({“source_site.event_hosts”:{$elemMatch:{“member_id”:12300113}})
{
"_id" : ObjectId("541890c2660a17aa1f7b7bd4"),
"source_site" : {
"event_hosts" : [
{
"member_id" : 12300113,
"member_name" : "Sal Corthen"
},
{
"member_id" : 139930702,
"member_name" : "Erin Morgen"
}
]
}
}