MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

MongoDB заявка:$близо с агрегиране

Ще трябва да използвате $geoNear и само ако използвате V2.4 нагоре

db.users.aggregate(   
    {$geoNear : {
        near: [-1, -2],
        distanceField: "distance",
        query : {"_id" : "id1"},
        uniqueDocs: true,
        maxDistance : 2000
}})

Редактиране:след редакция на въпрос

Заявката по-долу ще ви даде местоположение и разстояние, но не извлича вътрешния (елемент от масив) _id

db.users.aggregate(   
  {$geoNear : {
    near: [-1, -2],
    distanceField: "distance",
    includeLocs: "location",
    query : {"_id" : "id1"},
    maxDistance : 2000
  }},
  {$project : {"location" : 1, "_id" : 0, "distance" : 1}} 
)

Обърнете внимание на добавянето на includeLocs и премахване на uniqueDocs: true

За да извлечете също и вътрешния _id, ще трябва (следвайки този пример) да развиете и условно да проектирате или така, но не мисля, че си струва, освен ако не ви трябва адресът вместо _id




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Firebase UID уникален ли е в множество приложения?

  2. Morphia List<Map<String,Object>>> return Вграденият елемент не е DBObject при операция за намиране

  3. Mongodb scala драйверен кодек за характеристики и наследени класове

  4. Mongoose популация subdoc

  5. Актуализирането на множество документи от Mongoose не актуализира нищо