在 mongo db 中创建有一些限制的用户

Create user with some restriction in mongo db

我正在 mongo 数据库中创建可以对数据库执行以下操作的用户:-

但用户无法从 database/collection 中移除或删除记录。

我正在使用以下代码:-

db.addUser({ 
           user:"rwUser", pwd:"password", 
           roles:["readWrite"] 
           })

但是这个用户也可以删除记录。我如何限制用户从数据库中删除记录。

您可以创建具有所需权限的自定义角色:http://docs.mongodb.org/manual/tutorial/define-roles/

使用所需权限连接到您的 mongo 和 db.createRole。您可以在此处找到列出的特权:http://docs.mongodb.org/manual/reference/privilege-actions/。然后只需授予用户此角色或创建具有此角色的用户。

你想要的权限是:

createCollection
createIndex
find
insert
update

例如:

db.createRole(
   {
     role: "foobarRole",
     privileges: [
       { resource: { db: "exampleDb", collection: "bar" }, actions: [ "createCollection", "createIndex", "find", "insert", "update" ] }
     ],
     roles: []
   }
)

并将此授予现有用户:

db.grantRolesToUser(
  "foobarUser",
  [
    { role: "foobarRole", db: "exampleDb" }
  ]
)