带有条件参数的$ geoNear

时间:2017-06-01 07:21:10

标签: arrays mongodb geolocation operators

我的记录集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。

0 个答案:

没有答案