명령 모니터링
이 버전의 문서는 보관되어 더 이상 지원되지 않습니다. Node.js 드라이버 버전을 업그레이드 하는 방법을 알아보려면최신 문서 를 참조하세요.
개요
이 가이드에서는 드라이버가 MongoDB 배포로 보낸 명령의 성공 또는 실패를 모니터링하는 방법을 보여 줍니다.
애플리케이션 에서 명령 상태를 기록 해야 하거나 이러한 이벤트에서 제공되는 정보를 살펴보고 싶다면 이 가이드 를 읽어보세요.
이벤트 구독 예시
애플리케이션에서 이벤트를 구독하면 해당 드라이버를 사용하여 하나 이상의 명령 모니터링 이벤트에 액세스할 수 있습니다. 다음 예시에서는 복제본 세트에 연결하고 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);
참고
명령 모니터링은 기본적으로 비활성화되어 있습니다. 명령 모니터링을 사용하려면 monitorCommands
옵션을 true
로 MongoClient
생성자에 전달합니다.
이벤트 설명
다음 명령 모니터링 이벤트 중 하나를 구독할 수 있습니다.
이벤트 이름 | 설명 |
---|---|
commandStarted | 명령이 시작될 때 생성됩니다. |
commandSucceeded | 명령이 성공할 때 생성됩니다. |
commandFailed | 명령이 실패할 때 생성됩니다. |
이벤트 문서 예시
다음 섹션에서는 각 유형의 명령 모니터링 이벤트에 대한 샘플 출력을 보여줍니다.
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 } }
명령 실패
CommandFailedEvent { requestId: 1534, commandName: "find", address: 'localhost:27017', connectionId: 812613, failure: Error("something failed"), duration: 11 }