Soy nuevo en Mongo y estoy jugando con el estado del servidor de administración. Para mí, siempre devuelve falso cuando espero un objeto. Estoy ejecutando mongod con autenticación habilitada. ¿Hay privilegios de usuario específicos que se requieren? No puedo encontrar mucha documentación aparte de la proporcionada por los documentos API de los controladores de nodejs o el manual de mongodb.
Controladores 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(); }); });¡Gracias!
Encontré la respuesta. Con las bases de datos habilitadas para la autenticación, debe otorgar un rol al usuario que ejecuta con la acción serverStatus.
db.createRole( { role: "mongostatRole", privileges: [ { resource: { cluster: true }, actions: [ "serverStatus" ] } ], roles: [] } )