MongoDB-如何向用户添加findandmodify权限
在我的应用程序中,我使用MongoDB作为数据库,并使用MongoDB-如何向用户添加findandmodify权限,mongodb,express,mongoose,Mongodb,Express,Mongoose,在我的应用程序中,我使用MongoDB作为数据库,并使用Express+Mongoose处理代码。我已经向数据库中添加了一个用户,并为该用户指定了readWrite角色,现在我可以从数据库中获取数据了。但是,当我试图使用Express+Mongoose中的save功能插入收藏时,我收到以下错误消息,无法找到如何向用户添加find和modify权限 {"name":"MongoError", "ok":0, "errmsg":"not authorized on od-databas
Express+Mongoose
处理代码。我已经向数据库中添加了一个用户,并为该用户指定了readWrite
角色,现在我可以从数据库中获取数据了。但是,当我试图使用Express+Mongoose
中的save
功能插入收藏时,我收到以下错误消息,无法找到如何向用户添加find和modify
权限
{"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}
请帮助我。尝试给他
dbAdmin
角色。或尝试禁用授权或添加连接到数据库的用户。将用户添加到数据库的示例:
db.createUser({
user: "admin",
pwd: "test",
roles: [ { role: "dbAdmin", db: "shop" } ]
})
其中:
-是名称数据库db:“shop”
-密码数据库pwd:“测试”
-连接到数据库的用户,例如user:“admin”
db.auth('admin','test')
mongoDB
对非系统文档执行保存
和查找和修改
操作,这两个操作都可以成功完成
请确保
- 在
或mongoose.createconction
中连接数据库的正确用户名和密码mongoose.connect
- 此用户确实存在于具有
角色的readWrite
中db.system.users
用户只能修改集合中所有非系统集合的数据readWrite
find和modify
指定了bypassDocumentValidation
,则需要dbAdmin
角色或具有bypassDocumentValidation
权限的自定义角色
布尔参数最好指定为
true
或false
,而不是0
和1
,请共享显示数据库名称的代码片段,您如何调用mongoose.createConnection
以及如何向用户授予权限。谢谢请在后端显示您的代码,然后我们将帮助您恢复此问题。