该查询接收一对坐标、最大距离半径、“跳过”整数和“限制”整数。该函数应根据给定的位置返回最近和最新的位置。我的代码中没有明显的错误,但是,当我再次调用查询时,它会返回重复的结果。“skip”变量根据返回的结果进行更新。
例子:
1)我使用skip = 0,limit = 10进行查询。我收到10个非重复位置。
2) 现在再次调用查询,skip = 10,limit = 10。我收到另外 10 个位置,其中包含第一个查询的重复结果。
询问
Locations.find({ coordinates :
{ $near : [ x , y ],
$maxDistance: maxDistance }
})
.sort('date_created')
.skip(skip)
.limit(limit)
.exec(function(err, locations) {
console.log("[+]Found Locations");
callback(locations);
});
Run Code Online (Sandbox Code Playgroud)
模式
var locationSchema = new Schema({
date_created: { type: Date },
coordinates: [],
text: { type: String }
});
Run Code Online (Sandbox Code Playgroud)
我尝试到处寻找解决方案。我唯一的选择是 Mongo 版本?我使用 mongoose 4.xx,mongodb 就像 2.5.6。我相信。有任何想法吗?
mongoose mongodb node.js mongodb-query aggregation-framework