我正在尝试从我的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所以我必须使用原生。