python - 如何使用 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_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/

相关文章:

Python - 遍历前一周的同一天

mongodb - 使用 SSL 的 mongodump 和 mongorestore

mysql - 在 MongoDB 中获取 RECORD 数组

python - Flask 断线子进程 stdout python3

javascript - 使用 jQuery 中 GET 请求的信息通过 Flask 显示转换后的结果

python - 使用非 ASCII 字符作为 python 字典中的键时出现 KeyError

python - groupby 结果数据帧连接

python - 从 pandas.dataframe 中删除低频值

javascript - 如何构建我的 nodejs 代码?胖模型/瘦 Controller

python - 文本/事件流被识别为下载