![](/img/trans.png)
[英]How can i connect to mongodb database with native nodejs without using the official MongoDB Node.js Driver?
[英]how to enable debug on node.js and mongoDB native driver?
我使用 node.js 和 node-mongodb-native 驅動程序,以及連接池。 有什么方法可以啟用調試以查看發生了什么、有多少連接處於活動狀態以及連接何時打開或關閉?
我想看到類似的東西:
* connection xxx opened on host:port * connection yyy opened on host:port * connection xxx closed
debug
。const client = new MongoClient('mongodb://127.0.0.1:27017/', {
useUnifiedTopology: true,
loggerLevel: 'debug',
// logger: (message, context) => console.dir(context),
})
// connection pool monitoring
client.on('connectionPoolCreated', event => console.dir(event))
client.on('connectionPoolClosed', event => console.dir(event))
client.on('connectionCreated', event => console.dir(event))
client.on('connectionReady', event => console.dir(event))
client.on('connectionClosed', event => console.dir(event))
client.on('connectionCheckOutStarted', event => console.dir(event))
client.on('connectionCheckOutFailed', event => console.dir(event))
client.on('connectionCheckedOut', event => console.dir(event))
client.on('connectionCheckedIn', event => console.dir(event))
client.on('connectionPoolCleared', event => console.dir(event))
// topology monitoring
client.on('serverDescriptionChanged', event => console.dir(event))
client.on('serverHeartbeatStarted', event => console.dir(event))
client.on('serverHeartbeatSucceeded', event => console.dir(event))
client.on('serverHeartbeatFailed', event => console.dir(event))
client.on('serverOpening', event => console.dir(event))
client.on('serverClosed', event => console.dir(event))
client.on('topologyOpening', event => console.dir(event))
client.on('topologyClosed', event => console.dir(event))
client.on('topologyDescriptionChanged', event => console.dir(event))
Db()
和Server()
對象都支持 logger 選項,這是一個具有log
、 error
和debug
功能的對象。 目前似乎沒有記錄Db()
選項,但在0.9.6-20 2011-10-04 更改日志條目中提到了它。
我不確定此界面是否支持您需要的所有信息,但它絕對是一個不錯的起點。 驅動程序團隊也可能會歡迎添加此類功能的拉取請求。
您可以使用節點的驅動程序Logger
類:
import { Logger } from "mongodriver";
稍后在您的代碼中:
Logger.setLevel("debug");
您可以查看官方驅動程序 API文檔上的文檔
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.