在Mongo DB中使用$ near查找最近的坐标

时间:2015-08-02 17:47:57

标签: mongodb sails.js waterline

我正在尝试从我的mongo数据库中获取最接近存储的坐标(将来有一个日期),但我只是得到错误。这是我的疑问:

    Event.native(function(err, collection){
        collection
            .find({loc: {$near: req.user.loc }, date: { '>=': today } })
            .limit(10)
            .toArray(function(err, events){
                sails.log.error(err);
                console.log("RESULTS %j",events);
            });
    });

我知道我必须制作一些索引才能使其正常工作,所以我使用下面的行来制作一个。我在mongo控制台中运行它。

db.user.ensureIndex({loc:"2d",date:1})

当尝试从Sails中运行上面的查询时,我收到以下错误:

error: MongoError: Can't canonicalize query: BadValue not handled: $near

我想我的查询有问题,因为我真的不明白我在这里做什么。我习惯使用Waterline方法,但我知道那些不能处理$ near所以我必须使用原生。

0 个答案:

没有答案