python无法连接到远程mongodb

时间:2018-10-25 20:44:25

标签: python-3.x mongodb authentication database-connection remote-access

from pymongo import MongoClient
client = MongoClient('IP', 27017,
username='name',
password='pwd',
authSource='Data_base',
authMechanism='DEFAULT')
db = client.get_database('Data_base')
print(db.name)
collection = db.get_collection('message')
print(collection)
for doc in db.collection.find({}):
print(doc)
  

我收到一条消息:连接到pydev调试器(内部版本182.4505.26)   数据库集合(数据库(MongoClient(主机= ['IP:27017'],   document_class = dict,tz_aware = False,connect = True,   authsource ='Data_base',authmechanism ='DEFAULT'),'Nimbler'),   '消息')

     

回溯(最近通话最近一次):

     

文件“ /snap/pycharm-community/85/helpers/pydev/pydevd.py”,行1664,   在main()

     

文件“ /snap/pycharm-community/85/helpers/pydev/pydevd.py”,第1658行,   在主要       globals = debugger.run(setup ['file'],None,None,is_module)文件“ /snap/pycharm-community/85/helpers/pydev/pydevd.py”,行1068,在   跑       pydev_imports.execfile(file,globals,locals)#执行脚本

     

文件   “ /snap/pycharm-community/85/helpers/pydev/_pydev_imps/_pydev_execfile.py”,   第18行,在execfile中       exec(compile(contents +“ \ n”,file,'exec'),glob,loc)

     

文件   “/home/interceptor/Документы/Git_repo_GPL2/nlpCKTF/src/testMongo.py”,   第12行       对于collection.find({})中的文档:文件“ /home/interceptor/.local/lib/python3.6/site-packages/pymongo/cursor.py”,   1189行,在下一个       如果是len(self .__ data)或self._refresh():

     

文件   “ /home/interceptor/.local/lib/python3.6/site-packages/pymongo/cursor.py”,   _refresh self .__ session =第1087行   self .__ collection.database.client._ensure_session()

     

文件   “ /home/interceptor/.local/lib/python3.6/site-packages/pymongo/mongo_client.py”,   第563行,在_ensure_session中       返回self .__ start_session(真,causal_consistency = False)

     

文件   “ /home/interceptor/.local/lib/python3.6/site-packages/pymongo/mongo_client.py”,   第1516行,在__start_session中       server_session = self._get_server_session()文件“ /home/interceptor/.local/lib/python3.6/site-packages/pymongo/mongo_client.py”,   第1549行,在_get_server_session中       返回self._topology.get_server_session()文件“ /home/interceptor/.local/lib/python3.6/site-packages/pymongo/topology.py”,   get_server_session中的第427行       无)文件“ /home/interceptor/.local/lib/python3.6/site-packages/pymongo/topology.py”,   _select_servers_loop中的第199行       self._error_message(选择器)

     

pymongo.errors.ServerSelectionTimeoutError:IP:27017:超时

2 个答案:

答案 0 :(得分:0)

我认为这是错误的IP,当我更改它时, 错误消息是:

  

_check_command_response       引发OperationFailure(msg%errmsg,代码,响应)pymongo.errors.OperationFailure:身份验证失败。

答案 1 :(得分:0)

与BaseDB数据库的连接。

import pymongo
from pymongo import MongoClient
from pprint import pprint
client = MongoClient('mongodb://admin:pass@33.195.155.222:27017/')
db = client.BaseDB
collection=db.message
print(collection.name)
cursor = collection.find({})
for document in cursor:
  print(document)