代码之家  ›  专栏  ›  技术社区  ›  romu

Mongo DB在特定数据库中插入数据的权限?

  •  0
  • romu  · 技术社区  · 7 年前

    我正在努力让我的MongoDB容器与身份验证一起工作。

    我创建了一个数据库,该数据库上的一个用户使用 数据库管理员 角色但这个角色似乎不足以将数据插入数据库,因为当我运行填充数据库的脚本时,我会收到这种错误消息:

    error: not authorized on mydb to execute command { insert: "attachs", documents: 59, writeConcern: { getLastError: 1, w: 1 }, ordered: false }
    

    所以我想我需要为我的用户添加一些其他特权,但我不知道缺少了哪些。

    2 回复  |  直到 7 年前
        1
  •  1
  •   Mehraj Malik    7 年前
    db.createUser({
              user : "root",
              pwd : "root",
              roles : ["readWrite", "dbAdmin"]
    
    });
    

    您可以使用创建角色 读写 . 它会起作用的。

        2
  •  0
  •   Vaibhaw    7 年前

    要添加到上述答案中,对于现有用户,您可以使用 db.grantRolesToUser() 分配它的命令 读写 角色例如。

    use test
    db.grantRolesToUser("user1", [ "readWrite"] )
    

    上面授予user1在测试数据库上的读写角色。我写了一个 step by step tutorial 关于如何向角色授予权限以及最近向用户授予角色。这可能有用。