如果我想读取我的数据库(mongoDB)的所有集合,我使用方法find()" print(db.collecion.find())"我们做错了
错误:
'数据库'对象不可调用。如果你打算打电话给''发现'关于MongoClient'的方法对象失败,因为不存在这样的方法。
如何解决? 代码来源:
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'的方法对象失败,因为没有这样的方法 存在。
如何解决?
答案 0 :(得分:0)
使用find之后,你需要在其中创建一个循环来记录。然后你应该能够检索它们。
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 |
+-------------------+----------+
如果是这样,您可以通过
使用https://pypi.python.org/pypi/PrettyTable库pip3 install PrettyTable or pip install PrettyTable
取决于你的python版本。