我有一个餐厅集合,其中每个文档都有一个名为“grades”的数组,它将“date”、“score”、“grade”存储为单独的文档。我想要做的是选择在所有 4 个日期得分均高于 60 的餐厅。我正在尝试提出一个查询,该查询将与具有 n 个分数的数组一起使用
I've tried this query:
db.r.find(
{$nor:[{"grades.score":{$lt:50,$gt:90}}]},
{_id:0,grades:1}
).limit(5).pretty();
{
"_id" : ObjectId("5d92477d5a50e0f057174914"),
"grades" : [
{
"date" : ISODate("2014-09-06T00:00:00Z"),
"grade" : "A",
"score" : 2
},
{
"date" : ISODate("2013-07-22T00:00:00Z"),
"grade" : "A",
"score" : 11
},
{
"date" : ISODate("2012-07-31T00:00:00Z"),
"grade" : "A",
"score" : 12
},
{
"date" : ISODate("2011-12-29T00:00:00Z"),
"grade" : "A",
"score" : 12
}
],
"name" : "Dj Reynolds Pub And Restaurant",
"restaurant_id" : "30191841"
}