如何访问MongoDB中集合下的文档?

我有一个 MongoDB 数据库,上面存储有股票数据。每个股票数据都存储为一个单独的集合,集合名称为股票名称,id, time, open, high, low, close, volume每个集合中存储了每个股票几天的数据。您可以在下图中看到每个集合的结构:

http://img.mukewang.com/641a6d660001562108470750.jpg

我想要做的是找到每个集合,并将其数据分别存储为新的 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',

 'دیران',

 'وزمین',

 'کحافظ',

 'لبوتان']

nested s 的输出for是这样的:


'ر'

'ک'

'ب'

'ا'

'ف'

'ق'

'ث'

'ج'

'و'

'ا'

'ن'

'ک'

'ی'

'ش'


幕布斯6054654
浏览 117回答 1
1回答

吃鸡游戏

您正在尝试迭代集合名称(这是一个字符串)而不是它的 MongoDB 游标我认为下面的代码是你要找的: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 mydb[item].find({}):        pprint(data)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python