在 MongoDB 中,我创建了一个名为“GIS”的数据库和一个名为“UTILITIES”的集合。我插入了一些 GeoJSON 元素,如下所示
{
"_id" : ObjectId("54e6de457e550c23bc1521a0"),
"id" : "1",
"geometry" : {
"coordinates" : [
86.74957,
21.93157
],
"type" : "Point",
"bbox" : [
86.74957,
21.93157,
86.74957,
21.93157
]
},
"properties" : {
"PLACE" : "Abhoy Medical Store",
"LATITUDE" : "21.93157",
"LONGITUDE" : "86.74957",
"IMG" : "43400012"
},
"type" : "Feature",
"bbox" : [
86.74957,
21.93157,
86.74957,
21.93157
]
}
{
"_id" : ObjectId("54e6de457e550c23bc1521a1"),
"id" : "2",
"geometry" : {
"coordinates" : [
86.73604,
21.92578
],
"type" : "Point",
"bbox" : [
86.73604,
21.92578,
86.73604,
21.92578
]
},
"properties" : {
"PLACE" : "Advanced Homeo Sadan",
"LATITUDE" : "21.92578",
"LONGITUDE" : "86.73604",
"IMG" : "43400123"
},
"type" : "Feature",
"bbox" : [
86.73604,
21.92578,
86.73604,
21.92578
]
}
然后我创建了一个 2dsphere 索引,如下所示
db.UTILITIES.ensureIndex ({geometry : "2dsphere"})
然后我运行 geoNear 命令如下
db.UTILITIES.runCommand(
{
geoNear: "UTILITIES",
near: { type: "Point", coordinates: [ 86.74957, 21.93157 ] },
spherical: true,
query: { category: "public" },
minDistance: 0,
maxDistance: 7000
}
)
这将返回结果如下
{
"results" : [ ],
"stats" : {
"nscanned" : 244,
"objectsLoaded" : 267,
"avgDistance" : NaN,
"maxDistance" : 0,
"time" : 2
},
"ok" : 1
}
返回的结果数组为空。请提出解决方案。提前致谢。