我在远程服务器上将MongoDB与Mongoose结合使用,通过这样的NodeJS应用程序进行连接:
mongodb://3.xxx.xxx.xxx:xxxx/test
这很好,我还在服务器上的authorization = enabled
文件中设置了mongod.conf
并创建了一个管理员。知道我想使用下面的URL连接到我的MongoDB并创建一个新用户,但是当我这样做时,出现身份验证错误。
我知道我也可以通过身份验证进行连接
mongodb://admin:pw@3.xxx.xxx.xxx:xxxxx/test?authsource=admin
创建新用户没问题,但是那不安全(?)
我想要一个随机用户,可以在我的MongoDB上创建用户,然后他可以对其进行身份验证,以获取读取和写入权限。对我而言,随机用户以管理员身份创建新用户毫无意义。 我在想什么问题吗?
这是我通过NodeJS应用创建用户的方式:
exports.create = (req, res) => {
if (!req.body.mail && !req.body.password) {
return res.status(400).send({
message: "User conntent can not be empty"
});
}
const user = new User({
mail: req.body.mail,
password: req.body.password,
});
user.save()
.then(data => {
res.send(data);
}).catch(err => {
res.status(500).send({
message: err.message || " Some error occurred while creating user."
});
});
};