MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Zapytanie MongoDB :$blisko z agregacją

Będziesz musiał użyć $geoNear , i tylko jeśli używasz wersji 2.4 i nowszej

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

Edytuj:po edycji do pytania

Poniższe zapytanie poda lokalizację i odległość, ale nie pobierze wewnętrznego (elementu tablicy) _id

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

Zwróć uwagę na dodanie includeLocs i eliminacja uniqueDocs: true

Aby pobrać również wewnętrzny _id, będziesz musiał (zgodnie z tym przykładem) rozwinąć i warunkowo projektować, ale nie sądzę, że warto, chyba że potrzebujesz adresu zamiast _id




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak skonfigurować mongodb do usuwania starych plików dziennika?

  2. Znajdź dokument mongodb za pomocą częściowego ciągu _id

  3. Jak sprawdzić, czy kolekcja istnieje, czy nie MongoDB Golang

  4. Dane wiosenne MongoDb:MappingMongoConverter usuń _class

  5. Mongodb (kod=exited, status=14) nie powiodło się, ale nie ma żadnych wyraźnych błędów