Mongo TypeError:MongoClient.close 不是函数

Hen*_*ges 3 mongodb node.js express

我正在构建一个应用程序,该应用程序在闲置一段时间后关闭其数据库连接。问题是,我无法终止它与 MongoClient.close() 的连接,因为它总是返回错误“TypeError:MongoClient.close 不是函数”。我究竟做错了什么?

const MongoClient = require("mongodb").MongoClient;
let mongo = {};
let db;
let disconnectTimer;
let retryTimer;
let disconnect; //Used to prevent mongo from reconnect.

mongo.disconnect = () => {
    disconnect = true;
    try {
        MongoClient.close();
    } catch (error) {
        console.warn("Error closing connection to Database =", error);
        throw {
            statusCode: 404,
            error: error.toString(),
            reason: "",
            details: ""
        };
    }
}
mongo.getDB = () => {
    if (typeof db !== "undefined" && !disconnect)
        return db;
    else
        return connect().catch((error) => {
            throw error
        }).then((db) => {return db});
}

module.exports = mongo;
Run Code Online (Sandbox Code Playgroud)

Ale*_*tya 5

如果使用 db 作为 Mongo DB 连接实例,请尝试使用 dB.close() 而不是 MongoClient.close()。