簡體   English   中英

MongoDB:未經數據庫授權執行命令eval

[英]MongoDB: Not authorized on database to execute command eval

這是我正在運行的查詢:

db.surveyquestion.copyTo('surveyquestionV2')

我得到的錯誤:

{
    "message" : "MongoError: not authorized on GenericSurveyTool to execute command { $eval: function (collName, newName) {\r" +
              "var from = db[collName];\r" +
              "..., args: [ 'surveyquestion', 'surveyquestionV2' ], $db: 'GenericSurveyTool' }",
    "stack" : "script:1:19",
    "code" : 13
}

我正在運行此查詢的admin數據庫中的用戶:

query:  db.getUsers();


/* 2 */
{
    "_id" : "admin.moiz",
    "user" : "moiz",
    "db" : "admin",
    "roles" : [
        {
            "role" : "root",
            "db" : "admin"
        }
    ]
}

我有該用戶具有root角色,但仍然無法復制集合。 請幫忙!!

對於有相同問題的人,解決方案在db.eval()的文檔中: 就在這里

如果啟用了授權,則必須有權訪問所有資源上的所有操作才能運行評估。 不建議提供這種訪問權限,但是如果您的組織要求用戶運行eval,請創建一個在anyResource上授予anyAction的角色。 不要將此角色分配給任何其他用戶。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM