我有一个包含国家/地区记录的集合,我需要使用uid查找特定的国家/地区,即countryId
以下是样本收集数据:
{
"uid": 15024,
"countries": [{
"countryId": 123,
"popullation": 45000000
},
{
"countryId": 456,
"poppulation": 9000000000
}
]
},
{
"uid": 15025,
"countries": [{
"countryId": 987,
"popullation": 560000000
},
{
"countryId": 456,
"poppulation": 8900000000
}
]
}
我已经尝试在python中使用以下查询,但是找不到任何结果:
foundRecord = collection.find_one({"uid" : 15024, "countries.countryId": 456})
但它返回None。
请帮助并提出建议。
答案 0 :(得分:0)
我认为以下内容会更好:
foundRecord = collection.find_one({"uid" : 15024,
"countries" : {"$elemMatch" : { "countryId" : 456 }})
答案 1 :(得分:0)
确定使用相同的数据库/集合源吗?
似乎您要将结果保存在另一个馆藏中。
我尝试重现您的问题,它可以在我的mongodb上正常工作(请注意,我正在使用v4)
编辑:最好在定义“集合”的地方有一段代码