小编Avi*_*Avi的帖子

Mongoose 查询返回重复结果

该查询接收一对坐标、最大距离半径、“跳过”整数和“限制”整数。该函数应根据给定的位置返回最近和最新的位置。我的代码中没有明显的错误,但是,当我再次调用查询时,它会返回重复的结果。“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

5
推荐指数
1
解决办法
813
查看次数