我是mongo的新手,并且正在使用admin serverStatus。对我来说,当我期待一个对象时,它总是返回false。我正在运行启用了auth的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();
});
});
谢谢!
答案 0 :(得分:0)
我找到了答案。使用启用auth的数据库,您需要使用serverStatus操作向执行用户授予角色。
db.createRole(
{
role: "mongostatRole",
privileges: [
{ resource: { cluster: true }, actions: [ "serverStatus" ] }
],
roles: []
}
)