如何检查数组字段是否与数组查询mongodb匹配

时间:2018-04-13 15:28:56

标签: arrays mongodb

我在从包含数组的MongoDB数据库中获取数据时遇到问题,并且还检索不在查询数组中的元素。

数据库结构如下:

{
   "name": "James",
   "visitedPlaces": ['Germany', "Scotland"]
},
{
   "name": "John",
   "visitedPlaces": ['India', "Russia"]
}

我想查询VisitedPlaces只返回访问过俄罗斯和印度的人。

注意:我正在使用另一个阵列查询数据库。

 db.Profile.find(
    { VisitedPlaces: { $elemMatch: { $nin: ["India", "Russia"] } } }
 )

1 个答案:

答案 0 :(得分:0)

您必须使用$ all来查询包含另一个数组的数组:

    db.Profile.find(
            { visitedPlaces: {$not:{$all:["India", "Russia"]}}}
    )