gpt4 book ai didi

javascript - 在 Node.js 中连接 MongoDB 在 for 循环中不起作用

转载 作者:可可西里 更新时间:2023-11-01 10:28:27 29 4
gpt4 key购买 nike

我有一个连接本地 mongoDB 数据库的函数,但是当我尝试将其放入 for 循环时,连接突然不起作用。

var connectMongo = require("./ConnectToMongoDB");
var insertDocument = require("./InsertDocument");

function spamMongoDBtest(){
process.nextTick(function(){
var max = 500;
for(var i = 0; i<max;i++){
setTimeout(function(){
connectMongo(insertDocument);
}, 50);
}
});
}

为什么我会得到这个 AssertionError:

AssertionError: null == { [MongoError: connect ECONNREFUSED] name: 'MongoError', message: 'connect ECONNREFUSED' }

connectMongo(插入文档);在此功能中工作:

function spamMongoDB(){
process.nextTick(function(){
setInterval(function(){connectMongo(insertDocument); }, 100); });
}

最佳答案

您能否也分享一下 connectMongoinsertDocument 函数?也许您与 Mongo 的开放连接太多。每次编写文档后,请尝试关闭与 Mongo 的连接。

您可以使用async 库来限制测试的并发性。

例如:

var concurrency = 25; //limit to 25 concurrent connections
async.eachLimit(new Array(500), concurrency, function(item, callback) {
connectMongo(function(){
insertDocument();
callback();
});
});

关于javascript - 在 Node.js 中连接 MongoDB 在 for 循环中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30708547/

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