Menu Docs
Página inicial do Docs
/ / /
Controlador Node.js
/ /

Monitoramento de comandos

Nesta página

  • Visão geral
  • Exemplo de inscrição de eventos
  • Descrições de evento
  • Documentos de exemplos de eventos

Este guia mostra como monitorar o sucesso ou a falha dos comandos enviados pelo driver para sua implantação do MongoDB.

As seções a seguir demonstram como registrar o status do comando em seu aplicativo e explorar as informações fornecidas nesses eventos.

Você pode acessar um ou mais eventos de monitoramento de comando usando o driver e inscrevendo-os em seu aplicativo. O exemplo a seguir demonstra a conexão com um conjunto de réplicas e a assinatura de um dos eventos de monitoramento de comandos criados pela implantação do MongoDB:

/* Subscribe to an event */
const { MongoClient } = require("mongodb");
// Replace the following with your MongoDB deployment's connection string
const uri = "mongodb+srv://<clusterUrl>/?replicaSet=rs&writeConcern=majority";
const client = new MongoClient(uri, { monitorCommands:true });
// Replace <event name> with the name of the event you are subscribing to
const eventName = "<event name>";
// Subscribe to a specified event and print a message when the event is received
client.on(eventName, event => console.log(event));
async function run() {
try {
// Establish and verify connection to the "admin" database
await client.db("admin").command({ ping: 1 });
console.log("Connected successfully");
} finally {
// Close the database connection on completion or error
await client.close();
}
}
run().catch(console.dir);

Observação

O monitoramento de comandos está desabilitado por padrão. Para habilitar o monitoramento de comandos, passe a opção monitorCommands como true para o construtor MongoClient .

Você pode se inscrever em qualquer um dos seguintes eventos de monitoramento de comandos:

Nome do evento
Descrição

commandStarted

Criado quando um comando é iniciado.

commandSucceeded

Criado quando um comando é bem-sucedido.

commandFailed

Criado quando um comando falhou.

As seções a seguir mostram amostras de saída para cada tipo de evento de monitoramento de comando.

CommandStartedEvent {
requestId: 1534,
databaseName: "app",
commandName: "find",
address: 'localhost:27017',
connectionId: 812613,
command: {
find: { firstName: "Jane", lastName: "Doe" }
}
}
CommandSucceededEvent {
requestId: 1534,
commandName: "find",
address: 'localhost:27017',
connectionId: 812613,
duration: 15,
reply: {
cursor: {
firstBatch: [
{
_id: ObjectId("5e8e2ca217b5324fa9847435"),
firstName: "Jane",
lastName: "Doe"
}
],
_id: 0,
ns: "app.users"
},
ok: 1,
operationTime: 1586380205
}
}
CommandFailedEvent {
requestId: 1534,
commandName: "find",
address: 'localhost:27017',
connectionId: 812613,
failure: Error("something failed"),
duration: 11
}

Voltar

Clusters