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.
Leia este guia se precisar registrar o status do comando em seu aplicação ou se quiser 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:
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>"; client.on(eventName, event => { console.log(`received ${eventName}: ${JSON.stringify(event, null, 2)}`); }); async function run() { try { // Establish and verify connection await client.db("admin").command({ ping: 1 }); console.log("Connected successfully"); } finally { // Ensures that the client will close when you finish/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 }