MongoDB クエリを作成して、スコア 2 のグレードとスコア 6 のグレードを持つレストランを検索します。
「レストラン」コレクションの構造:
{
"address": {
"building": "1007",
"coord": [ -73.856077, 40.848447 ],
"street": "Morris Park Ave",
"zipcode": "10462"
},
"borough": "Bronx",
"cuisine": "Bakery",
"grades": [
{ "date": { "$date": 1393804800000 }, "grade": "A", "score": 2 },
{ "date": { "$date": 1378857600000 }, "grade": "A", "score": 6 },
{ "date": { "$date": 1358985600000 }, "grade": "A", "score": 10 },
{ "date": { "$date": 1322006400000 }, "grade": "A", "score": 9 },
{ "date": { "$date": 1299715200000 }, "grade": "B", "score": 14 }
],
"name": "Morris Park Bake Shop",
"restaurant_id": "30075445"
}
Query
db.restaurants.find({
$and: [
{"grades.score": 2},
{"grades.score": 6}
]
})
説明
少なくとも 1 つの Grade 要素のスコアが 2 で、別の Grade 要素のスコアが 6 であるドキュメントのみを返す MongoDB の指定されたクエリ。
$and 演算子は、各スコアをチェックする 2 つの別々のクエリを結合します。
最初のものは、グレード配列要素のいずれかが 2 に等しいスコア フィールドを持つ場所をチェックし、2 番目のものは 6 に等しいスコア フィールドを持つかをチェックします。
Previous:マンハッタンまたはブルックリンで、料理がアメリカ料理でも中華料理でもない、グレードが 5 つより 1 つ以上低いレストランを探す
コメント