如何在MongoDB中查询数组数组中的元素?

时间:2019-06-21 02:22:43

标签: mongodb

我正在独自学习MongoDB。我有一个带有如下条目的集合:

{
"_id" : ObjectId("5d0c13fbfdca455311248d6f"),
"borough" : "Brooklyn",
"grades" : 
    [ 
        { "date" : ISODate("2014-04-16T00:00:00Z"), "grade" : "A", "score" : 5 },
        { "date" : ISODate("2013-04-23T00:00:00Z"), "grade" : "B", "score" : 2 },
        { "date" : ISODate("2012-04-24T00:00:00Z"), "grade" : "A", "score" : 5 }
    ],
"name" : "C & C Catering Service",
"restaurant_id" : "40357437"
}

我想找到布鲁克林所有等级至少为A级的餐厅。

我已经弄清楚了难题的前半部分:

db.restaurants.find({borough:{$eq:"Brooklyn"}})

但是如何在“成绩”数组中查询A级呢?

2 个答案:

答案 0 :(得分:2)

使用点(.)来访问和查询嵌套对象:

db.restaurants.find({'borough':{$eq:"Brooklyn"}, 'grades.grade': 'A'})

答案 1 :(得分:0)

db.restaurants.find({"borough" : "Brooklyn","grades.grade":"A"})