我有一个生产环境,mongoDB已经启动并运行,DBA要求我们更改用于身份验证的密码.一种方法是使用新密码再次运行addUser命令,如change password 中所述

> db.auth("app_user", "somepassword")
db.addUser("app_user", "new password")

这和添加新用户一样好.

我知道,一旦我添加了一个新用户,我就必须用--auth选项重新启动mongod,如in所述,但由于这是一个生产环境,我无法重新启动服务器.还有其他 Select 吗?或者如果我的方法是错误的,如何在mongoDB中更改密码

推荐答案

对于v2.4.

db.changeUserPassword("app_user", "new password")

https://groups.google.com/d/msg/mongodb-user/KkXbDCsCfOs/rk2_h-oSbAwJ

Mongodb相关问答推荐

如何在Mongo Aggregate Query中创建集合的对象ID数组,并在列表中查找另一个集合中的ID

获取响应周期中的特定键和值

根据参考图计算子文档列表的最大值

错误起草的 MongoDB 聚合管道 $match 阶段

在亚马逊 EC2 上托管 nodeJS/mongoose Web 应用程序

MongoError:$subtract 累加​​器是一元运算符

使用管道聚合的 Spring Data MongoDB 查找

MongoDB中超过2GB的数据库

NoSQL:MongoDB 或 BigTable 并不总是 Available意味着什么

单个模式数组中的多个模式引用 - mongoose

MongoDb 数据库与集合

MongoError:Topology is closed, please connect despite established database connection

MongoDB + Node JS + 基于角色的访问控制 (RBAC)

Mongoimport json 文件更新或覆盖..?

MongoException: Index with name: code already exists with different options

是否有支持 MongoDB 和 Devise 的 Rails 管理界面?

在 MongoDB 上使用 $push 更新数组时避免重复值

MongoDB MapReduce - 发出一个键/一个值不调用reduce

在 MongoDB 中为现有用户更改密码

MongoDb 聚合 $match 错误:Arguments must be aggregate pipeline operators