2013-04-18 15 views
41

Ich muss eine ObjectId mit Python mit Pymongo suchen, aber ich bekomme immer diesen Fehler. Irgendwelche Ideen, wie man sucht?Suche nach ObjectId in mongodb mit pymongo

import pymongo 
from pymongo import MongoClient 
from pymongo import ObjectId 

gate = collection.find({'_id': ObjectId(modem["dis_imei"])}) 
print gate 

    Traceback (most recent call last): 
    File "C:\Users\gerswin\Documents\Proyectos\Demonio py\test.py", line 2, in <module> 
    import pymongo 
    File "C:\Python27\lib\site-packages\pymongo\__init__.py", line 80, in <module> 
    from pymongo.connection import Connection 
    File "C:\Python27\lib\site-packages\pymongo\connection.py", line 39, in <module> 
    from pymongo.mongo_client import MongoClient 
    File "C:\Python27\lib\site-packages\pymongo\mongo_client.py", line 45, in <module> 
    from pymongo import (auth, 
    File "C:\Python27\lib\site-packages\pymongo\database.py", line 22, in <module> 
    from pymongo.collection import Collection 
    File "C:\Python27\lib\site-packages\pymongo\collection.py", line 25, in <module> 
    from pymongo.cursor import Cursor 
    File "C:\Python27\lib\site-packages\pymongo\cursor.py", line 19, in <module> 
    from bson import RE_TYPE 
ImportError: cannot import name RE_TYPE 
+0

Was ist eine Version von Pymongo? – Evgenii

+0

meine Version ist pymongo == 2.5 –

Antwort

73

Ich benutze Pymongo 2.4.1.

from bson.objectid import ObjectId 
[i for i in dbm.neo_nodes.find({"_id": ObjectId(obj_id_to_find)})] 
+0

funktioniert jetzt, aber mit Pymongo 2.4.1 ist vielleicht ein 2.5 Fehler –

+0

Ich Update Pymongo auf 2,5 - alle arbeiten. Können Sie eine Fehlermeldung und Ihren Code sehen? – Evgenii

+0

@GerswinBeachten Sie die "von bson.objectid"? Sie erhalten einen Importfehler, wenn Sie versuchen, es von Pymongo in Version 2.5 zu importieren. Sie benötigen Python-Bson-Paket. Ich bin mir nicht sicher, ob das mit Pymongo installiert ist oder nicht. – incognick

Verwandte Themen