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