我的记录集Mongodb(3.4)中的文档如下: -
{
"_id" : ObjectId("592d0c78555a7436b0883960"),
"userid" : 7,
"addresses" : [
{
"apporx" : 50.0,
"loc" : [
-73.98137109999999,
40.7476039
]
},
{
"apporx" : 15.0,
"loc" : [
-73.982002,
40.74767
]
},
{
"apporx" :10.0,
"loc" : [
-73.9819567,
40.7471609
]
}
]
}
我使用以下查询在此集合上创建了2d索引: -
db.records.createIndex({ "addresses.loc": "2d" })
我想在条件操作符之后使用$ geoNear命令,但$ geoNear必须是聚合管道中的第一个。还有其他任何方式,这样我可以在50和50之间应用条件“addresses.loc”,如'addresses.loc' 100.在应用此条件后,从'addresses'array中获取的任何元素都将对该元素应用$ geonear。