MongoDB命令行显示用户是否存在(对于puppet'incept'子句)

leo*_*mig 6 puppet mongodb

我们正在使用基于MongoDB用户的身份验证,我想快速运行一个命令来检查用户是否已在数据库中创建,以便puppet不会重复尝试创建用户.

以下是我们检查副本集是否已初始化的方法:

/usr/bin/mongo --host ${members[0]} --quiet --eval 'rs.status().ok' | grep -q 1
Run Code Online (Sandbox Code Playgroud)

验证可能有类似的技巧吗?我在这里检查了文档http://www.mongodb.org/display/DOCS/dbshel​​l+%28mongo%29+Reference,我看不到这样做的方法吗?

Ste*_*lon 14

是的,在给定的数据库上,db.system.users.find({user:'login'}).count()如果用户不存在,您可以使用哪个将返回0.

  • `db.users.find(...).count()`将返回存储在`users`集合中的文档数.此集合并不特殊,与MongoDB身份验证过程无关. (3认同)