In MongoDB I have created a database named 'GIS' and a collection named 'UTILITIES'. I have inserted some GeoJSON elements as below
{
"_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
]
}
Then I have created a 2dsphere index as below
db.UTILITIES.ensureIndex ({geometry : "2dsphere"})
Then I run the geoNear command as below
db.UTILITIES.runCommand(
{
geoNear: "UTILITIES",
near: { type: "Point", coordinates: [ 86.74957, 21.93157 ] },
spherical: true,
query: { category: "public" },
minDistance: 0,
maxDistance: 7000
}
)
This returns the result as below
{
"results" : [ ],
"stats" : {
"nscanned" : 244,
"objectsLoaded" : 267,
"avgDistance" : NaN,
"maxDistance" : 0,
"time" : 2
},
"ok" : 1
}
The returned results array is empty. Kindly suggest a solution. Thanks in advance.
Try to change o comment this part:
query: { category: "public" }
Because in the elements there is no "category" field