以下代码留下一个空的虚拟数据库。这个系统行为是否打算? mongodb正在运行--auth模式,用户是readAnyDatabase Role的一部分。
import pymongo
print CORE_PROD_URL
mongo = pymongo.MongoClient(CORE_PROD_URL)
print mongo.database_names()
print mongo.dummy.test.count()
print mongo.database_names()
给出:
mongodb://read_only_user:pw@localhost:27017
[u'admin', u'local']
0
[u'admin', u'local', u'dummy']
find()
会发生同样的行为,而
mongo.dummy.test.insert({‘foo’: ‘bar’})
抛出异常
OperationFailure: not authorized on new_db to execute command
答案 0 :(得分:0)
这是一个已知的错误SERVER-11051。数据库名称将从" database_names()"中消失。下次重新启动服务器时,当然下次从" dummy"中读取时,它会重新出现。数据库中。