gpt4 book ai didi

node.js - 为什么 MongoDB Cursor.maxTimeMS 不起作用?

转载 作者:行者123 更新时间:2023-12-03 15:59:40 24 4
gpt4 key购买 nike

也许我遗漏了一些东西,但根据文档和所有在线帖子,设置

cursor.maxTimeMS(1000).toArray(...)

应在 1000 毫秒后超时,并且 MongoDB 应在超时后终止该操作。

但这一切都没有发生。

首先,没有超时。一切都会继续下去。

其次,我检查db.currentOp(),该操作仍然存在,耗尽了所有内存。这会导致数据库因 OOM 而崩溃。

无论如何,在几分钟无响应打印后运行db.currentOp():

{
"inprog" : [
{
"host" : "db2:27017",
"desc" : "conn20",
"connectionId" : 20,
"client" : "127.0.0.1:59214",
"clientMetadata" : {
"driver" : {
"name" : "nodejs",
"version" : "3.1.4"
},
"os" : {
"type" : "Linux",
"name" : "linux",
"architecture" : "x64",
"version" : "4.15.0-30-generic"
},
"platform" : "Node.js v8.10.0, LE, mongodb-core: 3.1.3"
},
"active" : true,
"currentOpTime" : "2018-09-14T00:10:29.903+0000",
"opid" : 11056,
"lsid" : {
"id" : UUID("78a2d853-30bf-4d6d-a208-0a150d9bf8be"),
"uid" : BinData(0,"47DEQpj8HBSa+/TImW+5JCeuQeRkm5NMpJWZG3hSuFU=")
},
"secs_running" : NumberLong(649),
"microsecs_running" : NumberLong(649968360),
"op" : "command",

如您所见,尽管我明确指定了 1000 毫秒,但它已经运行了 649 秒。

这是怎么回事?我已经把头发扯了两天了,还是想不通。

最佳答案

我遇到了同样的问题,必须将 mongodb 驱动程序从 3.1.1 更新到 3.3.5,它的效果非常好!

关于node.js - 为什么 MongoDB Cursor.maxTimeMS 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52323379/

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