readAnyDatabase用户可以在mongodb上创建数据库

时间:2014-11-25 12:28:15

标签: mongodb python-2.7 pymongo

以下代码留下一个空的虚拟数据库。这个系统行为是否打算? 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

1 个答案:

答案 0 :(得分:0)

这是一个已知的错误SERVER-11051。数据库名称将从" database_names()"中消失。下次重新启动服务器时,当然下次从" dummy"中读取时,它会重新出现。数据库中。