我有一个 MongoDB 数据库,上面存储有股票数据。每个股票数据都存储为一个单独的集合,集合名称为股票名称,id, time, open, high, low, close, volume每个集合中存储了每个股票几天的数据。您可以在下图中看到每个集合的结构:我想要做的是找到每个集合,并将其数据分别存储为新的 python 字典。但是我的代码不能正常工作没有错误。from pymongo import MongoClientfrom pprint import pprintmyclient = MongoClient("mongodb://localhost:27017/") #, username='mongo-admin', password='password')mydb = myclient["db-data-stock"]pprint(mydb)posts = mydb.list_collection_names()for item in posts: for data in item: pprint(data)而且它只打印集合的名称而不是其中的数据!的输出posts是一个列表,内容如下:['کیمیا', 'ونفت', 'اخزا807', 'دیران', 'وزمین', 'کحافظ', 'لبوتان']nested s 的输出for是这样的:'ر''ک''ب''ا''ف''ق''ث''ج''و''ا''ن''ک''ی''ش'
1 回答
吃鸡游戏
TA贡献1829条经验 获得超7个赞
您正在尝试迭代集合名称(这是一个字符串)而不是它的 MongoDB 游标
我认为下面的代码是你要找的:
from pymongo import MongoClient
from pprint import pprint
myclient = MongoClient("mongodb://localhost:27017/") #, username='mongo-admin', password='password')
mydb = myclient["db-data-stock"]
pprint(mydb)
posts = mydb.list_collection_names()
for item in posts:
for data in mydb[item].find({}):
pprint(data)
添加回答
举报
0/150
提交
取消