如何访问MongoDB中集合下的文档?
How to access documents under a collection in MongoDB?
我有一个 MongoDB 数据库,其中存储了股票数据。每个股票数据都存储为一个单独的集合,集合名称为股票名称,每个集合中存储了id, time, open, high, low, close, volume
个数据,每个stock.You可以看到每个集合的结构在图片中下面:
我想要做的是找到每个集合,并将其数据分别存储为新的 python 字典。但是我的代码不能正常工作没有错误。
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 item:
pprint(data)
而且它只打印集合的名称而不是其中的数据!
posts
的输出是一个列表,内容如下:
['کیمیا',
'ونفت',
'اخزا807',
'دیران',
'وزمین',
'کحافظ',
'لبوتان']
嵌套 for
s 的输出如下:
'ر'
'ک'
'ب'
'ا'
'ف'
'ق'
'ث'
'ج'
'و'
'ا'
'ن'
'ک'
'ی'
'ش'
您正在尝试遍历集合名称(字符串)而不是它的 MongoDB-cursor
我想下面的代码就是您要找的:
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)
我有一个 MongoDB 数据库,其中存储了股票数据。每个股票数据都存储为一个单独的集合,集合名称为股票名称,每个集合中存储了id, time, open, high, low, close, volume
个数据,每个stock.You可以看到每个集合的结构在图片中下面:
我想要做的是找到每个集合,并将其数据分别存储为新的 python 字典。但是我的代码不能正常工作没有错误。
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 item:
pprint(data)
而且它只打印集合的名称而不是其中的数据!
posts
的输出是一个列表,内容如下:
['کیمیا',
'ونفت',
'اخزا807',
'دیران',
'وزمین',
'کحافظ',
'لبوتان']
嵌套 for
s 的输出如下:
'ر'
'ک'
'ب'
'ا'
'ف'
'ق'
'ث'
'ج'
'و'
'ا'
'ن'
'ک'
'ی'
'ش'
您正在尝试遍历集合名称(字符串)而不是它的 MongoDB-cursor
我想下面的代码就是您要找的:
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)