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

Jak mogę znaleźć pobliskie miejsce z szerokością i długością geograficzną w mongodb?

Cześć W twoim przypadku myślę, że powinieneś zmienić powyższy dokument jak poniżej

    {
    "_id" : ObjectId("545749dba2b0b4cf603a7546"),
    "city" : "B",
    "placeName" : "A",
    "loc" : {
        "lon" : 51.10682735591432,
        "lat" : -114.11773681640625
    }
}
{
    "_id" : ObjectId("545749f3a2b0b4cf603a7547"),
    "city" : "B1",
    "placeName" : "A1",
    "loc" : {
        "lon" : 51.09144802136697,
        "lat" : -114.11773681640625
    }
}

Po tym indeksowaniu powyższych dokumentów jak poniżej

db.collectionName.ensureIndex({loc:"2d"})

Jeśli indeksowanie działa poprawnie, napisz następujące zapytanie, aby znaleźć pobliskie dokumenty

db.location.find({loc: {$near:[51,-114]}})

aby uzyskać dalszą pomoc, należy polecić tego mongo $near i $geoNear kliknij tutaj

i przepraszam za golanga, bo nie wiem więcej o golangu

dla golanga

var places []Place
lat := 51.515614
long := -0.268998
err = coll.Find(bson.M{"loc": bson.M{"$near": []float64{long, lat}, "$maxDistance" :      0.056}}).All(&places)


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Znajdź zduplikowane rekordy w MongoDB

  2. Błąd mongorestore:Nie wiem, co zrobić z plikiem zrzutu

  3. Tablice Concat używające PyMongo nie powiodło się z nieznanym operatorem grupy „$concatArrays”

  4. Mongoose łączy dwie kolekcje i otrzymuje tylko określone pola z połączonej kolekcji

  5. MongoDB na komputerze z systemem Windows 7:nie można nawiązać połączenia