MongoDB-如何向用户添加findandmodify权限

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

在我的应用程序中,我使用MongoDB作为数据库,并使用
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
以及如何向用户授予权限。谢谢请在后端显示您的代码,然后我们将帮助您恢复此问题。