地理空间MongoDB披萨餐厅查询。 2dSphere索引正确吗?

时间:2018-11-29 22:44:18

标签: mongodb mongodb-query geospatial mongo-shell spatial-query

我遇到了有关使用Mongodb Shell查询两个地理空间数据集合的作业问题。如下:

饭店数据集的示例记录是:

{
"_id" : ObjectId("55cba2476c522cafdb053ae8"),
"location" : {
"coordinates" : [
-73.9973325,
40.61174889999999
],
"type" : "Point"
},
"name" : "C & C Catering Service"
}

邮政编码数据集中的示例记录是:

{
"_id" : "01002",
"city" : "CUSHMAN",
"loc" : [
-72.51565,
42.377017
],
"pop" : 36963,
"state" : "MA"
}

问题是: 对于上述集合中的每个Pizza餐厅,请找到其所在的城市。您可以假定一家餐厅位于距其位置最近的城市。

我创建了用于查找披萨店的变量:

var pizza = db.restaurants.find({"name" : /pizza/i});

我创建了这些索引,但是不确定天气我是否需要复合索引。

db.zipcodes.createIndex({"loc" : "2dsphere"});
db.restaurants.createIndex({"location" : "2dsphere"});

这些索引正确吗?如果是这样,我应该使用什么来创建查询?聚合和$ nearSphere一样?

0 个答案:

没有答案