1

追加の条件でnearクエリを作成しようとしています:

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

0

おそらく最善の解決策ではありませんが、この問題を回避する方法を見つけました。私がしたことは、クエリを 2 つの部分に分割することです。1) 最も近いアドレスをクエリし、オブジェクト ID を取得します。2) $in 演算子を使用して 2 番目のクエリで使用します。

于 2014-01-04T12:33:26.193 に答える