2016-10-13 37 views
1

问题:编写一个MongoDB查询来查找位于纬度值小于-95.754168的餐馆。的 '餐馆' 收集给定mongodb查询的正确语法是什么?

结构

{ 
"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" 
} 

笔者的回答是:db.restaurants.find({ “address.coord”:{$ LT:-95.754168}});

这是正确答案? 如果没有,那么什么是正确的答案?

资源:http://www.w3resource.com/mongodb-exercises/#PracticeOnline

回答

1

你可以进入你的coord指数这样

db.restaurants.find({"address.coord.0" : {$lt: -95.754168}}); 

根据文档here

MongoDB使用点符号来访问元素的数组并访问嵌入文档的字段。

E.g. <array>.<index>

请注意,索引是从0开始的。