MongoDB - 如何向用户添加查找和修改权限

标签 mongodb express mongoose

在我的应用程序中,我使用 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的角色对非系统文档执行savefindAndModify操作,两者都可以完成成功。

请确认

  • mongoose.createConnctionmongoose.connect 中连接数据库的正确用户名和密码。
  • 此用户确实存在于具有 readWrite 角色的 db.system.users 中。
  • readWrite 用户只能修改system.js 中所有非系统集合上的数据。收藏

关于MongoDB - 如何向用户添加查找和修改权限,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30973872/

相关文章:

javascript - 找不到超时错误的 mongodb Node 游标

javascript - 将 mongo 数据库连接导出到 models.js 文件

node.js - Nodejs/ Mongoose 。哪种方法更适合创建文档?

node.js - Mongoose 搜索多个字段

windows - 无法运行 'mongod' 命令,表示无法识别

mongodb - MongoDB 如何管理二级索引扫描?

arrays - MongoDB 从对象数组中的数组中删除一个项目

javascript - Node.js 启动时运行方法

javascript - React.js 在从 Express.js 和 Restful api 获取响应之前等待 4 分钟

javascript - 如何阻止 “GET” 被记录