gpt4 book ai didi

r - MongoDB - Root 和 dbOwner 无权运行更新命令

转载 作者:可可西里 更新时间:2023-11-01 09:56:49 26 4
gpt4 key购买 nike

最终我想使用 R+MongoDB。因此,我在 Linux 上设置了 MongoDB 并执行了以下操作:

  • 在 shell 上运行 mongo 命令
  • 使用管理数据库
  • 添加根用户
  • 以 root 身份验证:db.auth("root","PASSWORD")
  • 这是root用户权限

    {
    "_id" : "admin.root",
    "user" : "root",
    "db" : "admin",
    "roles" : [
    {
    "role" : "dbOwner",
    "db" : "admin"
    },
    {
    "role" : "readWrite",
    "db" : "admin"
    },
    {
    "role" : "root",
    "db" : "admin"
    }
    ]}

运行命令以在 R 和 Mongo 之间进行身份验证

> var schema = db.system.version.findOne({"_id" : "authSchema"})
> schema.currentVersion = 3
3
> db.system.version.save(schema)

得到如下结果

WriteResult({
"writeError" : {
"code" : 13,
"errmsg" : "not authorized on admin to execute command { update: \"system.version\", updates: [ { q: { _id: \"authSchema\" }, u: { _id: \"authSchema\", currentVersion: 3 }, multi: false, upsert: true } ], ordered: true }"
}})

不允许 Root 和 dbOwner 执行更新?我错过了什么? o.0

最佳答案

我自己也遇到了同样的问题。原来我需要“__system”角色。

db.grantRolesToUser ( "root", [ { role: "__system", db: "admin" } ] )

关于r - MongoDB - Root 和 dbOwner 无权运行更新命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29920127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com