Sto provando a codificare uno script per fare l'operazione di base sull'indice 2dsphere menzionata qui 2dsphere usando pymongo.Qualcuno conosce un esempio funzionante di indice 2dsphere in pymongo?
non ho potuto trovare alcun esempio per capirlo, questo è il mio tentativo finora:
from pymongo import GEOSPHERE
client=MongoClient('localhost',27017)
db=client['dbtest']
points=db['points']
points.create_index([("loc",GEOSPHERE)])
points.insert({"loc":[2 5]})
points.insert({"loc":[30,5]})
more points.insert
for doc in points.find({"loc" : {"$near": { "$geometry" : {"type":"Point","coordinates":[1,2]},"$maxDistance":20}}}):
print doc
dà l'errore pymongo.errors.OperationFailure: database error: can't find special index: 2d for: { loc: { $near: { $geometry: { type: "Point", coordinates: [ 1, 2 ] }, $maxDistance: 20 } } }
Il tuo tentativo sta funzionando sul mio computer, ma ho impostato maxDistance su un numero molto grande. Che versione di MongoDB stai usando? Sto usando MongoDB 2.4.3. – vinipsmaker