我在从包含数组的MongoDB数据库中获取数据时遇到问题,并且还检索不在查询数组中的元素。
数据库结构如下:
{
"name": "James",
"visitedPlaces": ['Germany', "Scotland"]
},
{
"name": "John",
"visitedPlaces": ['India', "Russia"]
}
我想查询VisitedPlaces只返回不访问过俄罗斯和印度的人。
注意:我正在使用另一个阵列查询数据库。
db.Profile.find(
{ VisitedPlaces: { $elemMatch: { $nin: ["India", "Russia"] } } }
)
答案 0 :(得分:0)
您必须使用$ all来查询包含另一个数组的数组:
db.Profile.find(
{ visitedPlaces: {$not:{$all:["India", "Russia"]}}}
)