如何使用Python从ObjectID获取id?

时间:2015-06-26 16:16:53

标签: python mongodb pymongo

我正在尝试使用PyMongo从MongoDB中的文档中获取id。

这是我的代码:

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

我也试过这个:

 doc_id = docQuery[0]["_id"]

它们都不起作用!

2 个答案:

答案 0 :(得分:11)

虽然您的第二种方法应该有效,但docQuery是一个Cursor类型的对象。最好的方法是迭代它:

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

或者,如果只有一个对象,则使用find_one,如:

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

答案 1 :(得分:1)

在pymongo中,您可以使用['']这个符号来访问特定的属性。
示例-

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