【问题标题】:Properly closing a connection once done with query完成查询后正确关闭连接
【发布时间】:2020-07-13 22:04:26
【问题描述】:

我不知道在完成查询后如何关闭连接

mongoose.connect("mongodb://localhost:27017/Settings", {
    useNewUrlParser: true,
    useUnifiedTopology: true,
    useCreateIndex: true
});

SettingsModel.create({ guildID: guild.id } as Settings, (err: string, res: any) => {
    if (err) return console.error(err);
    console.log(res);
});

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    除非您出于特定原因要关闭连接,否则不应该 - 关闭和打开连接是密集且昂贵的。您打开一次连接并在您的应用运行时重复使用它。

    建议您在完全关闭应用程序时关闭所有连接 - 您可以这样做

    process.on('SIGINT', function() {
      mongoose.connection.close(function () {
        console.log('Disconnected db on app termination');
        process.exit(0);
      });
    });
    

    【讨论】:

    • 我正在开发一个不和谐的机器人,我的问题是,一旦有人运行命令,我总是打开一个连接,比如说,我怎么能做到,所以我只需要打开一次连接并重复使用它直到应用程序终止?我还想知道我将如何做到这一点,同时还能够访问我的数据库的不同部分,例如 localhost:27017/Settingslocalhost:27017/Servers
    • 看看这篇应该有帮助的帖子:stackoverflow.com/questions/23293202/…
    猜你喜欢
    • 2012-02-07
    • 1970-01-01
    • 2013-04-22
    • 1970-01-01
    • 2016-11-27
    • 2022-07-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多