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))

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)