Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.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 如何使用MongoKit对远程db主机进行身份验证?_Python_Mongodb_Flask_Pymongo_Mongokit - Fatal编程技术网

Python 如何使用MongoKit对远程db主机进行身份验证?

Python 如何使用MongoKit对远程db主机进行身份验证?,python,mongodb,flask,pymongo,mongokit,Python,Mongodb,Flask,Pymongo,Mongokit,我正在尝试使用Flask中的MongoKit连接和验证远程数据库主机(dotcloud、mongolabs等)。连接到服务器似乎工作正常。但是,我无法对数据库进行身份验证。大概这应该是可行的: from mongokit import Connection connection = Connection(my_remote_host, my_remote_port) connection.my_database.authenticate(my_admin_user, my_admin_passw

我正在尝试使用Flask中的MongoKit连接和验证远程数据库主机(dotcloud、mongolabs等)。连接到服务器似乎工作正常。但是,我无法对数据库进行身份验证。大概这应该是可行的:

from mongokit import Connection
connection = Connection(my_remote_host, my_remote_port)
connection.my_database.authenticate(my_admin_user, my_admin_password)
对authenticate()的调用返回True,但随后对获取数据的调用将抛出:

OperationFailure: database error: unauthorized db

有人知道这里会发生什么吗?

这可能是由于pymongo中
authenticate()
的当前行为造成的。Pymongo不会在线程之间缓存身份验证凭据,因此每个线程都必须单独进行身份验证。请参阅关于在多线程环境中使用
authenticate()