0
{ _id : ObjectId(...),
name : "...",
addresses : [ {
context : "home" ,
loc : [ 55.5, 42.3 ]
} ,
{
context : "office",
loc : [ -74 , 44.74 ]
}
]
}
address.loc爲「2d」索引。MongoDB:具有附加條件的地理空間查詢
我想編寫一個查詢,該查詢應該給我所有位置靠近$的文檔,上下文是office。
I wrote some thing like:
db.coll.find({'address.loc':{$near:[lat,lng]}, 'address.context' : "office"});
以上查詢並不給我想要的結果。它搜索整個「地址」數組中的位置,然後在整個數組中搜索上下文。
我想搜索相同的數組位置和相同的上下文。我知道這可以通過$ elemMatch完成,但是當我嘗試使用它時,它表示沒有可用的2d索引或2dsphere索引。
我是新來的MongoDB,不知道該怎麼寫我的查詢。
謝謝Philiq的迴應,但它似乎現在不支持。上述查詢將返回結果,但結果不正確。有幾個JIRA門票在MongoDB中打開SERVER-3325。我無法找到其他人。沒有錯字,因爲我得到的結果,但結果是無效的 – Anup