我的收藏结构如下:
{
latitude:
longitude:
metric1:
metric2:
metric3:
}
我想使用纬度和经度键创建一个2d索引。
我知道可以通过创建一个包含纬度和经度值的单独位置字段来完成。但是,我不想改变当前集合的结构。它有什么解决方案吗?
答案 0 :(得分:0)
没有。您需要以MongoDB的地理空间索引所期望的方式构造位置字段。对于2d索引,您使用遗留坐标对
{
"loc" : [<longitude>, <latitude>],
"metric1" : <value>,
"metric2" : <value>,
"metric3" : <value>
}
对于2dsphere索引,您使用GeoJSON
{
"loc" : { "type" : "Point", "coordinates" : [<longitude>, <latitude>] },
"metric1" : <value>,
"metric2" : <value>,
"metric3" : <value>
}