如何使用MongoKit对远程数据库主机进行身份验证?

时间:2011-07-14 21:08:34

标签: 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

任何人都知道这里会发生什么?

1 个答案:

答案 0 :(得分:4)

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