【发布时间】:2020-02-15 01:48:20
【问题描述】:
我从网站上抓取数据并将它们保存到数组中。我想保存这个数组扔了一个mysql数据库。
我使用nodejs作为后端框架,mysql数据库和typeorm作为数据库框架。
这是来自我的快速网络服务器的代码,我想通过 for-loop 传递元素并扔到数据库中:
app.get('/dev', async (req, res) => {
console.log(req.body)
const channelData = await scrape.scrapeChannel()
console.log(channelData.namearray.length);
for (i = 0; i < channelData.namearray.length; i++) {
const creators = await database.insertCreator(channelData.namearray[i], channelData.datearray[i], channelData.imgarray[i])
res.send(creators)
}});
这是我的数据库连接代码:
async function insertCreator(training, date, img) {
const connection = await getConnection();
// create
const creator = new Creator();
creator.img = img;
creator.training = training;
creator.date = date;
// save
const creatorRepo = connection.getRepository(Creator);
const res = await creatorRepo.save(creator);
console.log('saved', res);
// return new list
const allCreators = await creatorRepo.find();
connection.close();
return allCreators;}
如果我运行代码,我会收到以下错误消息:
AlreadyHasActiveConnectionError: 无法创建名为“default”的新连接,因为使用该名称的连接已经存在并且它现在有一个活动的连接会话。
好像我没有关闭我的数据库连接。但我不知道在哪里以及为什么。
希望你能帮助我。
【问题讨论】:
标签: mysql node.js database typeorm