python - 如何使用 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_password)

对 authenticate() 的调用返回 True,但随后对获取数据的调用会抛出:

OperationFailure: database error: unauthorized db

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

最佳答案

这可能是由于 pymongo 中 authenticate() 的当前行为所致。 Pymongo 不会在线程之间缓存身份验证凭据,因此每个线程必须单独进行身份验证。见 note in the pymongo documentation关于在多线程环境中使用 authenticate()

https://stackoverflow.com/questions/6699947/

相关文章:

node.js - MongoDB 与 Docker "failed to connect to s

mongodb - 在 MongoDB 中使用 directoryperdb 的好处

mongodb - 从 mongo db $pull 中删除嵌入文档不起作用

python - Pymongo 断言错误 : ids don't match

python - Python中的跟踪系统和实时统计分析

mongodb安装 - 要求?

javascript - 查找和更新嵌套级别

mongodb - 您将如何使用文档存储(例如 CouchDB、Redis、MongoDB、Riak

mongodb - 命令以非零退出代码 : Error executing in Docker Co

mongodb - 如何使用 map/reduce 处理 10000 多个唯一键以在 MongoDB