В оболочке MongoDB db.getCreateUser
и db.DropUser
используйте под капотом команды mongoDB, которые запускаются через db.runCommand({createUser: "user1", ....})
и db.runCommand({dropUser: "user1"})
.
Из этого вопроса мы можем используйте команды mongoDB для выполнения всех типов команд управления пользователями (создание, удаление, обновление, предоставление ролей ...)
Следующий код добавляет пользователя, показывает созданного пользователя и удаление этот пользователь впоследствии:
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost:27017/admin', {useNewUrlParser: true, useUnifiedTopology: true});
var db = mongoose.connection;
db.once('open', async function callback () {
//show users
var users = await db.db.command({usersInfo: 1});
console.log("users", users);
//create user
var userCreate = await db.db.command({
createUser: "productUser",
pwd: "1234567",
roles: [
{"db":"admin", "role":"dbAdminAnyDatabase" },
{"db":"admin", "role":"readWriteAnyDatabase"},
{"db":"admin", "role":"clusterAdmin"}
]
});
console.log(userCreate.ok === 1 ? "user created" : "user creation failed");
users = await db.db.command({usersInfo: 1});
console.log("users",users);
//drop user
var userDrop = await db.db.command({
dropUser: "productUser"
});
console.log(userDrop.ok === 1 ? "user removed" : "user drop failed");
users = await db.db.command({usersInfo: 1});
console.log("users",users);
});