sql >> Databasteknik >  >> NoSQL >> MongoDB

Vet någon ett fungerande exempel på 2dsphere index i pymongo?

2dsphere (pymongo.GEOSPHERE) indextyp fungerar bara i MongoDB 2.4 och senare. Du kommer också att vilja använda GeoJSON format för dina poäng. Slutligen är MongoDB:s geofrågeoperatorer orderkänsliga, så du måste använda SON när du använder alternativ som $maxDistance. Här är ett exempel med $near :

>>> c = pymongo.MongoClient()
>>> points = c.dbtest.points
>>> points.ensure_index([("loc", pymongo.GEOSPHERE)])
u'loc_2dsphere'
>>> points.insert({'loc': {'type': 'Point', 'coordinates': [40, 5]}})
ObjectId('51b0e508fba522160ce84c3a')
>>> for doc in points.find({"loc" : SON([("$near", { "$geometry" : SON([("type", "Point"), ("coordinates", [40, 5])])}), ("$maxDistance", 10)])}):
...     doc
... 
{u'loc': {u'type': u'Point', u'coordinates': [40, 5]}, u'_id': ObjectId('51b0e508fba522160ce84c3a')}


  1. Hur man hämtar alla samlingsnycklar som innehåller ett visst (String) värde i mongodb

  2. Installerar play framework mongodb morphia modul

  3. Kan jag göra två kolumner unika för varandra? eller använda sammansatta primärnycklar i redis?

  4. mgo time.Time eller boolesk check