繁体   English   中英

如何使用mongoose或mongodb客户端从节点js关闭mongodb连接

[英]How to close mongodb connections from node js using mongoose or mongodb client

mongodb大约有21000个旧连接。

我已经尝试过“ currentOp”命令列出所有连接。 我无法使用猫鼬从节点js关闭。

const express = require('express');
var app = express();
const mongoose = require('mongoose'),
Admin = mongoose.mongo.Admin;
const port = 3002
mongoose.set('debug', true)
var db = mongoose.createConnection('mongodb://localhost:22222/myapp', { 
useNewUrlParser: true }, () => {
  console.log('Connection db established')
})
app.use((req, res, next) => {
    console.log(req.url + ' ' + new Date());
    next();
});
const Cat = mongoose.model('cats', { name: String });

db.on('open', function (err, data) {


    new Admin(db.db).command({ currentOp: 1, '$all': true }, (err, r) => {
        var connections = []
        console.log(err)
        console.log(r.inprog.length)
        r.inprog.forEach((conn) => {
            if (conn.client) {
                console.log(conn.client)
                connections.push({ thread: conn.threadId, connection: conn.connectionId, op: conn.opid })
            }
        })
        console.log(connections)
    })
});

app.listen(port, () => {
    console.log('Server started')
})

我用过“ killOp”来终止连接,但是没有用。 并没有“过时的”连接来杀死或识别过时的连接

您的猫鼬连接可以通过关闭

mongoose.connection.close()

但是请确保输入正确的回调,以便在连接关闭之前保存数据库。

您可以在此处找到的文档中阅读更多内容。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM