我在mongoDb上有我收藏中的一些数据,我想查看指定收藏中的所有数据,说我有像这样的简单代码
from pymongo import MongoClient
url = 'my url'
client = MongoClient(url, ssl=True, retryWrites=True)
class DB(object):
def __init__(self):
self.db = client.mydb
self.col = self.db.mycol
def see_listed(self):
for i in self.col.find():
return i
db = DB()
print(db.see_listed())
那只返回了我收藏中的一个数据
但是如果我将代码从see_listed更改为
for i in self.col.find():
print(i)
那会返回我集合中的所有数据,我不知道我的错是什么。我只是这样尝试读取一些文档。
非常感谢我的赞赏
答案 0 :(得分:0)
由于您在see_listed函数中使用return
,因此您只会得到一个文档。
如果将返回值更改为yield
,则应该return
生成器,您可以对其进行迭代。
def see_listed(self):
for i in self.col.find():
yield i
但是,如果您只希望列表中的数据,则可以:
def see_listed(self):
return list(self.col.find())
如果数据大小未知,也许不是最佳选择。