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},
{"borough": "Manhattan"}
]
})
説明
MongoDB の上記のクエリは、スコア 2 のグレードとスコア 6 のグレードを持ち、マンハッタン区にあるレストランを返します。
$and 演算子を使用すると、最初の 2 つの条件が結合され、それぞれの Grade 配列要素に 2 または 6 に等しいスコア フィールドがあるかどうかがチェックされ、3 番目の条件では borough フィールドが「マンハッタン」に等しいかどうかがチェックされます。
Previous:グレード2とグレード6のレストランを探す
コメント