如何解决Pymongo-如何返回特定字段?
我需要文档的ObjectId,因此可以将其放在列表中。视觉上我需要
'_id':'ObjectId(x)'
一堆文件中。如何返回文件ID?
为清楚起见更新问题。
假设您有一个文档:
doc1 = {"_id": ObjectId('123456789'),"name" : "John Doe","shoe_size" : "7"
}
您需要一个特定的属性,例如“名称”
>>> name = doc1.get("name")
>>> print(name)
John Doe
现在,假设您只有Id = 123456789,并且需要从数据库中查找该ID附带的文档并返回大小:
import pymongo
from pymongo import MongoClient
from bson import ObjectId
>>> URI = "URI" #link that gives you access to your database
>>> client = MongoClient(URI)
>>> db = client.get_database()
>>> print(db.collection.find_one({"_id":ObjectId("123456789")}).get("size))
7
要搜索集合中的所有文档,并将ID存储在列表中:
lst_ids = []
collection = db.collection.find({})
for doc in collection:
lst_ids.append(doc.get("_id))
解决方法
除非您特别要求不获得,否则您始终会获得_id
字段。
因此它将在您的find()
或find_one()
语句的返回文档中。例如:
record = db.mycollection.find_one({})
print (record.get('_id'))
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。