我的输入是:
{
"_id": 722,
"mappings": [
{
"name": "sercan",
"test2": {
"code": "PI"
},
"codes": {
"individual": "false",
"servicetype": "APPART"
}
}
]
}
查询是:
db.myCollection.find({
"mappings.codes":
{ "individual" : "false",
"servicetype" : "APPART"
}
})
返回条目。但是下面的查询不是:
db.myCollection.find({
"mappings.codes":
{
"servicetype" : "APPART" ,
"individual" : "false"
}
})
如您所见,唯一的代码顺序是不同的。我如何处理此问题?
提前致谢
最佳答案
在您的收藏夹中,mappings
是一个数组。因此,您需要使用$elemMatch
。尝试这个:
db.myCollection.find({"mappings":{$elemMatch:{"test.codes":{"individual":"false","servicetype":"APPART"}}}}).pretty()