在处理对ExpressJS应用的批处理请求时,数据未按预期保存。
我具有以下连续执行以实现功能的端点:
app.post("/save", function1, function2)
...
exports.function1 = async (req, res, next) => {
//...
await data1.save()
}
exports.function2 = async (req, res, next) => {
//...
await data2.save()
}
基本上,这两个功能的目的主要是通过将新信息添加到已经存在的文档中来将数据保存到我的mongoDb数据库中。基本上,典型的数据类型是这样的:
{
"key1" : "value1",
"key2" : "value2",
"key3" : {
"subKey1" : "subValu1",
"subKey2" : "subValue2",
}
}
当我手动发出单个请求或执行非常小的批处理(例如5个请求批处理)时,数据将按预期方式保存。
但是,如果我执行了30多个请求,那么所有操作都会失败,并且没有将数据保存在文档中,而是有null
。即使我将30个请求的执行间隔10秒,也是如此。
经过数天的调查,我无法真正说出是什么原因。
有什么建议吗?
答案 0 :(得分:0)
在函数中,在最后一行调用next()
。