我正在尝试使用 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 不会在线程之间缓存身份验证凭据,因此每个线程必须单独进行身份验证。见 note in the pymongo documentation关于在多线程环境中使用 authenticate()
。
关于python - 如何使用 MongoKit 对远程数据库主机进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6699947/