在我的应用程序中,我使用 MongoDB 作为数据库,并使用 Express + Mongoose 来处理代码。我已向数据库添加了一个用户,并为该用户赋予了 readWrite 角色,现在我可以从数据库中获取数据了。但是,当我尝试使用 Express + Mongoose
中的 save
函数插入集合时,我收到以下错误消息,并且找不到如何添加 findandmodify
用户权限。
{"name":"MongoError",
"ok":0,
"errmsg":"not authorized on od-database to execute command { findandmodify: \"identitycounters\",
query: {
field: \"id\",
model: \"Products\" },
new: 1 ,
remove: 0,
upsert: 0,
update: { $inc: { count: 1 } } }","code":13}
请帮助我。
最佳答案
我使用 readWrite
测试一个用户连接mongoDB
的角色对非系统文档执行save
和findAndModify
操作,两者都可以完成成功。
请确认
- 在
mongoose.createConnction
或mongoose.connect
中连接数据库的正确用户名和密码。 - 此用户确实存在于具有
readWrite
角色的db.system.users
中。 readWrite
用户只能修改system.js 中所有非系统集合上的数据。收藏
关于MongoDB - 如何向用户添加查找和修改权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30973872/