簡體   English   中英

Mongodb Node JS serverStatus 總是返回false

[英]Mongodb Node JS serverStatus always returns false

我是 mongo 的新手,正在處理管理 serverStatus。 對我來說,當我期待一個對象時,它總是返回 false。 我在啟用身份驗證的情況下運行 mongod。 是否需要特定的用戶權限? 除了來自 nodejs 驅動程序或 mongodb 手冊的 API 文檔提供的內容之外,我找不到太多文檔。

MonogDB 3.4 NodeJS 驅動程序 2.2

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect('mongodb://user:pass@localhost:27017/test?authMechanism=DEFAULT&authSource=test', function(err, db) {
  var adminDB = db.admin();
  adminDB.serverStatus(function(err, status) {
    console.log(status);
    db.close();
  });
});

謝謝!

我找到了答案。 對於啟用身份驗證的數據庫,您需要使用 serverStatus 操作向執行用戶授予角色。

db.createRole(
   {
     role: "mongostatRole",
     privileges: [
       { resource: { cluster: true }, actions: [ "serverStatus" ] }
     ],
     roles: []
   }
)

暫無
暫無

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

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