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

Някой знае ли работещ пример за 2dsphere index в pymongo?

2dsphere (pymongo.GEOSPHERE) тип индекс работи само в MongoDB 2.4 и по-нови. Също така ще искате да използвате GeoJSON формат за вашите точки. И накрая, операторите за географски заявки на MongoDB са чувствителни към реда, така че ще трябва да използвате СИН когато използвате опции като $maxDistance. Ето пример за използване на $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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $anyElementTrue

  2. MongoDB:намерете и findOne с филтриране на вложени масиви

  3. Извличане на подреден резултат за уместност от текстова заявка в MongoDB Collection с помощта на C# драйвера

  4. cappedMax не работи в winston-mongodb logger в Node.js на Ubuntu

  5. MongoDB Много индекси срещу единичен индекс на масив от поддокументи?