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