Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 节点mongodb本机手动中止正在运行的查询_Node.js_Mongodb_Node Mongodb Native - Fatal编程技术网

Node.js 节点mongodb本机手动中止正在运行的查询

Node.js 节点mongodb本机手动中止正在运行的查询,node.js,mongodb,node-mongodb-native,Node.js,Mongodb,Node Mongodb Native,我想知道使用正式节点客户端手动中止正在运行的查询的最有效方法是什么。在我当前的代码中,我为每个远程客户端创建了一个新的DB连接,然后在客户端提前断开连接时简单地关闭这些连接,这很好,但似乎是一种浪费的做法(编辑:确实如此;)。我想,如果可以直接访问mongodb客户机连接池并关闭特定的连接,而不是关闭整个数据库,那么性能可能会更好 mongo服务器同时查询多个大型地理空间集合,因此在客户端断开连接时释放资源是此实现中性能的一个重要部分。会有很多不必要的请求进来——人们喜欢在地图上点击很多东西,即

我想知道使用正式节点客户端手动中止正在运行的查询的最有效方法是什么。在我当前的代码中,我为每个远程客户端创建了一个新的DB连接,然后在客户端提前断开连接时简单地关闭这些连接,这很好,但似乎是一种浪费的做法(编辑:确实如此;)。我想,如果可以直接访问mongodb客户机连接池并关闭特定的连接,而不是关闭整个数据库,那么性能可能会更好

mongo服务器同时查询多个大型地理空间集合,因此在客户端断开连接时释放资源是此实现中性能的一个重要部分。会有很多不必要的请求进来——人们喜欢在地图上点击很多东西,即使你在限制它们

我当前代码的人为示例:

var MongoClient = require('mongodb').MongoClient,
    express = require("express"),
    app = express();

app.get('/my-route', function(request, response) {
    MongoClient.connect(connectionUri, function(err, db) {
        if (err) throw err;

        request.on("close", function() {
            db.close(true, function(err, res) {
                if (err) throw err;
            });
        });

        // make async DB queries as normal and send response when done
        // ...
    });
});

可能重复事实上我现在认为这不是一个最佳实践连接管理问题,而是手动干预的一个具体要求。