1

我正在尝试使用附加条件构建近查询:

query = {
    $and : [
        { address : { $near : [x, y] } },
        { available: 1 }
    ]
};

db.points.find(query)

它给了我一个错误:

error: {
    "$err" : "can't find any special indices: 2d (needs index), 2dsphere (needs index),  for: { $and: [ { ipaddr: { $near: [ -82.49412043543862, 0.0 ] } }, { available: 1.0 } ] }",
    "code" : 13038
}

否则,这样的查询可以正常工作

query = { address : { $near : [x, y] }, available : 1 }

我需要用来$and构建复杂的查询。

我可以用关键字构建$near查询吗?$and

4

2 回答 2

1

看到这个主题 - https://jira.mongodb.org/browse/SERVER-4572 - 看起来这是一个错误,还没有修复..

于 2013-08-30T11:09:41.307 回答
0

可能不是最好的解决方案,但我找到了解决此问题的方法。我所做的是将查询分成两部分 1)查询最近的地址并获取对象 id 2)在第二个查询中使用 $in 运算符。

于 2014-01-04T12:33:26.193 回答