Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何读取mongoDB中的所有集合?_Python_Mongodb - Fatal编程技术网

Python 如何读取mongoDB中的所有集合?

Python 如何读取mongoDB中的所有集合?,python,mongodb,Python,Mongodb,如果我想读取我的数据数据库(mongoDB)的所有集合,我使用find()方法“print(db.collecion.find())”我们完成了一个错误 错误: “数据库”对象不可调用。如果要对“MongoClient”对象调用“find”方法,则该方法将失败,因为不存在此类方法 如何修复它? 代码源: from pymongo import MongoClient from pymongo import * import os import pprint mongodb_host = 'lo

如果我想读取我的数据数据库(mongoDB)的所有集合,我使用find()方法“print(db.collecion.find())”我们完成了一个错误

错误:

“数据库”对象不可调用。如果要对“MongoClient”对象调用“find”方法,则该方法将失败,因为不存在此类方法

如何修复它? 代码源:

from pymongo import MongoClient
from pymongo import *
import os
import pprint

mongodb_host = 'localhost'
mongo_port = '27017'

client = MongoClient(mongodb_host + ':'+mongo_port)
db = client['test']
cl=db.client
try:

  pprint.pprint(cl.find())
except Exception as e:
  print ('this connection or insert are wrong.')
  print (e)
错误:

“数据库”对象不可调用。如果你想叫“寻找” “MongoClient”对象上的方法失败,因为没有此类方法 存在


如何修复它?

使用“查找”后,您需要在其中循环查找记录。然后您应该能够检索这些记录

from pymongo import MongoClient
client = MongoClient()
db = client.db_name
for document in db.get_collection('collection_name').find():
    print(document)
根据您的第二个请求,我假设您想要这样的输出

from pymongo import MongoClient
from prettytable import PrettyTable
client = MongoClient()
db = client.kliffot
table = PrettyTable(['Mail', 'Timezone'])
for document in db.get_collection('user').find():
   table.add_row([document['email'], document['timezone']])
print(table)

"""Output sample"""
+-------------------+----------+
|        Mail       | Timezone |
+-------------------+----------+
| guray@kliffot.com |   UTC    |
| guray@kliffot.com |   UTC    |
+-------------------+----------+
如果是这样,您可以通过

pip3 install PrettyTable or pip install PrettyTable

取决于您的python版本。

请检查并添加您的代码,您尝试了什么。但我希望在表中显示类似属性,而不是类似字典。如何做请?@NoussaierGrayaa我对答案做了一些更改。这是你想要做的吗?我想做一个phyton应用程序,带有接口(tkinter)图,用于使用MongoDB管理汽车租赁开发汽车管理界面:o添加汽车,o修改汽车,o删除汽车,o列出具有可用状态的汽车。-开发客户管理界面:o添加客户、o修改客户、o删除客户、o列出状态为的客户。-开发管理汽车租赁的界面:o展示客户租赁的汽车