在 MongoDB 中,可以使用以下方法来外部执行创建用户的操作:
1. 使用 MongoDB 的官方 shell(mongo shell)进行操作:
- 打开终端或命令提示符,输入 `mongo` 命令进入 MongoDB shell。
- 切换到 admin 数据库:`use admin`。
- 执行 `db.createUser()` 方法来创建用户。例如,创建一个名为 `myuser` 的用户:
```javascript
db.createUser(
{
user: "myuser",
pwd: "mypassword",
roles: [ { role: "readWrite", db: "mydatabase" } ]
}
)
```
- 可以根据需要为用户分配不同的角色和权限。
2. 使用 MongoDB 的官方驱动程序(如 Node.js 的 `mongodb` 模块)编程来创建用户:
- 首先,连接到 MongoDB 服务器。例如,在 Node.js 中:
```javascript
const MongoClient = require('mongodb').MongoClient;
const url = 'mongodb://localhost:27017';
MongoClient.connect(url, function(err, client) {
// 连接成功后执行创建用户的操作
});
```
- 在连接成功后,可以使用 `admin` 数据库的 `addUser()` 方法来创建用户。例如,创建一个名为 `myuser` 的用户:
```javascript
const db = client.db('admin');
db.addUser('myuser', 'mypassword', {
roles: [ { role: "readWrite", db: "mydatabase" } ]
});
```
注意事项:
- 创建用户的操作需要在 `admin` 数据库中执行,并且需要具有足够的权限。
- 在 MongoDB 3.6 以及更新的版本中,`addUser()` 方法已被弃用,推荐使用 `createUser()` 方法。
- 创建用户时,可以根据需要为用户分配不同的角色和权限,以控制其对数据库的访问权限。