Monitoramento de comandos
Nesta página
Visão geral
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.
Exemplo de inscrição de 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
.
Descrições de evento
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. |
Documentos de exemplos de eventos
As seções a seguir mostram amostras de saída para cada tipo de evento de monitoramento de comando.
commandStarted
CommandStartedEvent { requestId: 1534, databaseName: "app", commandName: "find", address: 'localhost:27017', connectionId: 812613, command: { find: { firstName: "Jane", lastName: "Doe" } } }
commandSucceeded
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 } }
commandFailed
CommandFailedEvent { requestId: 1534, commandName: "find", address: 'localhost:27017', connectionId: 812613, failure: Error("something failed"), duration: 11 }