Я пытаюсь написать простой запрос в Mongoose, который возвращает ряд ближайших результатов, все из которых имеют свойства GeoJSON. Тем не менее, я получаю другое количество результатов от моего сценария Mongoose, чем от запроса непосредственно в mongo.
Вот необработанный скрипт Mongo:
var conn = new Mongo(),
db = conn.getDB("my_db"),
collection;
collection = db.my_moodels.find({
geo: {
$nearSphere: {
$geometry: {
type: "Point",
coordinates: [-0.02028, 51.50703]
},
$maxDistance: 3000 // 3k I'm assuming
}
}
});
print(collection.length()); // I get 6 (which is round about right)
Вот мой скрипт Mongoose:
MyModel
.find()
.where('geo')
.near({
center: [-0.02028, 51.50703],
maxDistance: 3000,
spherical: yes
})
.exec(function (err, results) {
if (err) {
throw err;
} else {
console.log(results.length); // Here I get over 340, which I think is all of the possible results.
}
});
Как видите, количество результатов совершенно другое. На самом деле изменение свойства maxDistance
в скрипте Mongoose ничего не дает.
Может ли кто-нибудь увидеть, что мне здесь не хватает?
.find()
работает. Так что проблема должна быть в билдере MongooseQuery
. - person johngeorgewright   schedule 03.04.2014