如何理解云开发中数据库的并发连接?
一次云函数调用过程中,是占用一次连接,还是占用多个连接?
如果是占用多个连接,哪些api会导致新的连接占用?
如下这段代码,在我的业务逻辑中调用了add方法100次,update方法1次,如果这些方法都会创建新的连接的话,那这个代码肯定无法执行,实际情况是它是几乎能稳定运行的。 但是偶然地碰到了跟连接相关的错误`Connection num overrun. Please improve specifications, but if the problem cannot be solved, contact us.`。 所以编写云函数,不知道哪种方式才算是好的。
let no = batchItem.total
const size = event.end - event.start
for (let i = event.start; i < event.end; i++) {
all.push(couponCollection.add({
data: {
batchId,
status: 0,
validStart: model.validStart,
validEnd: model.validEnd,
exchangedAt: null,
createdAt: createdAt,
no: ++no,
exchangedUser: {
realname: '',
mobile: '',
remark: ''
}
}
}))
}
await Promise.all(all).then(() => {
return batchCollection.doc(batchId).update({
data: {
total: _.inc(size)
}
})
})