Я пытаюсь отфильтровать широту и длину с максимальным расстоянием 10 км.Вот моя реализация кода mongodb для nodejs:
dbo.collection('CT').createIndex( { "loc" : "2dsphere" } );
var findquery = {
"GeoJSON.loc": {
$near: {
$geometry: {
type: "Point" ,
coordinates: [ 103.819839, 1.352083], //Long Lat
$maxDistance:10000
}
}
}
};
dbo.collection("CT").find(findquery).toArray(function(err, result) {
console.log(result);
db.close();
});
Данные хранятся так: mongodb:
[ {
"_id": "5bc04226df7ea7503c7d57f1",
"results": [
{
"ID": "FD02328677"
}
],
"GeoJSON": [
{
"city": "Los Angeles",
"loc": {
"type": "Point",
"coordinates": [
-118.24532,
34.05349
]
}
},
{
"city": "Tampa",
"loc": {
"type": "Point",
"coordinates": [
-82.45927,
27.94653
]
}
},
{
"city": "Seattle",
"loc": {
"type": "Point",
"coordinates": [
-122.32945,
47.60358
]
}
}
] } ]
Когда я запускаю код, я могу получить результат (по праву я не долженt), похоже, функция фильтра не работает в моем коде.Любое предложение?