gpt4 book ai didi

node.js - 处理 MongoDB 中的(长期)连接丢失

转载 作者:太空宇宙 更新时间:2023-11-04 01:02:02 28 4
gpt4 key购买 nike

我正在编写一个使用商店的网络应用程序。如果客户端在30秒内没有收到响应,则认为该请求已失效,并给出超时错误。

我正在尝试让 MongoDB 做同样的事情。例如,如果连接断开 1 分钟,驱动程序将尝试重新连接,并将挂起客户端的请求,直到重新连接成功。因此,像 socketTimeoutMS (我设法开始工作)这样的东西在这里不起作用。

MongoDB 在 N 秒后“放弃”请求的最佳方法是什么?

我最不想看到的就是给客户端一个超时错误——服务器实际上在 5 分钟后完成了请求!

最佳答案

maxTimeMS 2.6 中引入的选项:

var MongoClient = require('mongodb').MongoClient;

MongoClient.connect("mongodb://localhost:27017/test", function(err, db) {
// Get an aggregation cursor
var cursor = db.collection('data')
.find("$where": "sleep(1000) || true")
.maxTimeMS(50);

// Get alll the items
cursor.toArray(function(err, items) {
console.dir(err);
console.dir(items);
db.close();
});
});

关于node.js - 处理 MongoDB 中的(长期)连接丢失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26199854/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com