2010-12-31 9 views
4
Exception Type: OperationFailure at/
Exception Value: database error: point not in range 

Mein Code ist folgendes:Warum erhalte ich diesen Fehler in meiner Mongo-Abfrage?

user_center = [ user_utm[1], user_utm[2] ] 
user_radius = tools.milesToMeters(request.session['browser_distance']) 

results = db.datasets.find({"test_set":"g2", "loc_utm": {"$within": {"$center" : [ user_center, user_radius ] }}}); 

Für meine Mongo Abfrage, ich habe dies:

db.datasets.ensureIndex({"loc_utm":"2d"}, {"min":-999999999999, "max":99999999999 }); 

Mein user_center und user_radius dies ist, wenn ich es ausgedruckt:

[553068.42444848095, 4181244.9741927907] 
16093.44 

Alle meine Dokumente in meiner Mongo-Sammlung haben eine UTM, die dem user_center sehr ähnlich ist, also sollte es gehen die Abfrage. Aber anstatt die Dokumente zurückzugeben, bekomme ich diesen seltsamen Fehler.

+0

Können Sie 'user_center' und' user_radius' debuggen? Was ist der Ausgabewert? –

+0

der Ausgangswert ist dies: [553068.42444848095, 4181244.9741927907] und 16093.44 – TIMEX

Antwort

6

Wenn Sie Mongodb Version 1.4.0/1.5.0 ausführen, sollten Sie auf Version 1.5.2 upgraden, wenn diese Art von Problem auftritt has been fixed.

+0

Ich bekomme das auf MongoDB 1.8.3 –

Verwandte Themen