MongoVUE用户创建似乎无法正常工作

时间:2014-07-04 11:48:39

标签: mongodb mongovue

我已经安装了mongodb服务器v.2.6.1并按照所有安装步骤(与以前一样)并且工作正常(我运行服务器并从另一个cmd连接到它,一切正常)。

我还安装了MongoVUE v.1.6.9,当我从那里创建用户时,它们在我写入show users的cmd中时不出现,它们只在我写db.system.users.find()时出现。< / p>

因此,如果我希望能够连接到任何数据库,甚至是MonogoVUE,我需要将de cmd中的用户创建为db.addUser("username", "password")(我知道我的当前版本不推荐使用它,但它有效)我写show usersdb.system.users.find()时会得到不同的用户,因为前者是在cmd中创建的,后者是在MongoVUE中创建的。

这种行为对我来说似乎很奇怪,我无法弄清楚为什么。也许我错过了一些配置参数,但在其他安装中我从未遇到过这样的问题。

我重新安装了MongoVUE但是我不确定我是否已经摆脱了之前的错误配置,因为重新安装后它知道我的连接参数(端口,用户......)。我的操作系统是带有SP1的Windows7。

2 个答案:

答案 0 :(得分:0)

MongoDB 2.6引入了一种用于存储身份验证数据的新模型,以及用户定义角色等其他安全功能。在MongoDB 2.6中,所有用户和角色信息现在都存储在admin数据库的system.userssystem.roles集合中。还有User and Role Management的新shell帮助程序和命令。

某些命令(如db.addUser())已在mongo 2.6 shell中弃用,并映射到它们的现代等效项,因此在您学习新命令之前它们将继续有效。

例如:

 > db.addUser("username", "password")
 WARNING: The 'addUser' shell helper is DEPRECATED. Please use 'createUser' instead
 Successfully added user: { "user" : "username", "roles" : [ "dbOwner" ] }

如果您在以前版本的MongoDB中创建了用户,您可能会看到迁移到2.6+身份验证格式后留下的旧数据库特定的system.users集合。这些已不再使用。

答案 1 :(得分:0)

嗯,经过一番研究后,我终于决定安装以前稳定版的mongodb服务器(v 2.4.10)以及我是如何修复的。

2.6.x版本似乎表明在我的环境中使用MongoVUE打嗝(带有SP1的Windows7)。 我还是不知道为什么。