【发布时间】:2012-08-04 21:09:49
【问题描述】:
我在数据库中创建了一个集合,并使用适当的索引进行了更新以将其取回。我得到以下结果
示例:
db.car.save({ "name":"Toyota car", "affiliation":"Toyota", "loc":{"lon":55.93939251390387,"lat":-113.999}})
db.car.find({"loc" : {"$within" : {"$center" : [[50.93939251390,-114],5]}}})
当我搜索上述查询时,我在数据库中有 100K + 记录返回 20K 记录。
实际上,这在“名称”列中有一些重复值。如何获得“名称”的不同值。
【问题讨论】:
-
在 Mongodb Geolocation 中使用其他游标来处理数据,因此无法使用 distict、$or、$and。 Map reduce 很慢,添加此功能的票是 1 岁。如果您不需要搜索 $near 只需搜索 loc.0 => '50.93..' 没有 $within。