web-dev-qa-db-ja.com

Pythonを使用してObjectIDからIDを取得するにはどうすればよいですか?

PyMongoを使用して、MongoDBにあるドキュメントからIDを取得しようとしています。

これが私のコードです:

docQuery = db.doctors.find({"email":doc_mail})
doc_id = docQuery[0]["_id"]["$oid"]

私もこれを試しました:

 doc_id = docQuery[0]["_id"]

どちらも機能しません!

11
user3425344

2番目のアプローチは機能するはずですが、docQueryCursorタイプのオブジェクトです。最善の方法は、次のように繰り返すことです。

for itm in db.doctors.find({"email":doc_mail}):
   print itm.get('_id')

または、オブジェクトが1つしかない場合は、次のようにfind_oneを使用します。

itm = db.doctors.find_one({"email":doc_mail})
print itm.get('_id')
13
salmanwahed

Pymongoでは、['']この表記を使用して特定のプロパティにアクセスできます。
例-

cursor = collection.find({})
for document in cursor:
        print document['_id']
1