我正在使用此查询获取接近给定位置的对象,按距离排序:
{
"id": { // String
"$nin": ["<vals>"]
},
"date": { // Date
"$gte": "<val>"
},
"location": { // Legacy coordinate pairs
"$nearSphere": ["<val>"],
"$maxDistance": "<val>"
},
"count": { // Integer
"$gt": "<val>"
},
"param1": { // String
"$in": ["<vals>"] // 1-10 values
},
"param2": { // String
"$in": ["<vals>"] // 1-10 values
},
"param3": { // String
"$in": ["<vals>"] // 10-100 values
}
}
我尝试了此索引,但查询执行缓慢(200毫秒):
{
"location": "2dsphere",
"count": 1,
"date": -1,
"param1": 1
}
结果的定位精度应为~/-100m或0.001十进制度数。位置存储为传统坐标对。
一个低/高的二维索引
precision
提高性能?