Mungoaggregation mit Geonear
Ich versuche, Paging mit dem Mongoose-Befehl geoNear zu implementieren. Es scheint, dass das Überspringen mit geoNear nicht unterstützt wird, und ich verstehe, dass die Aggregation funktionieren würde (mit Paging mit Performance-Kosten). Wie kann ich diese in eine Aggregationsabfrage konvertieren, um eine Reihe von Dokumenten zu überspringen?
exports.near = function(req, res) {
if(req.query.lat && req.query.lng) {
var point = {
type: "Point", coordinates : [Number(req.query.lng), Number(req.query.lat)]
};
var queryParams = {
spherical: true,
skip: 0,
limit: 10,
distanceMultiplier: 6371 // radians to kilometers. (The radius of the Earth is approximately 3,959 miles or 6,371 kilometers.)
};
if(req.query.q) {
var matcher = new RegExp(req.query.q, "i");
queryParams.query = {
$or: [
{'name': matcher },
{'address.full': matcher}
]
};
}
if(req.query.limit) {
queryParams.limit = parseInt(req.query.limit, 10);
}
if(req.query.offset) {
queryParams.skip = parseInt(req.query.offset, 10);
}
Venue.geoNear(point, queryParams, function(error, results, stats) {
// TODO
});
}
};