Chà, nếu bạn không cần trả lại tài liệu đã cập nhật, Vui lòng thử cái này - điều này sẽ chỉ trả về kết quả ghi, với điều này có thể đạt được trong một lần gọi DB:
const creatStock = async (symbol, webApiData) => {
try {
// reversed array
const webApiDataReversed = webApiData.reverse();
const query = { symbol };
await Stock.bulkWrite([
{
updateOne:
{
"filter": query,
"update": { $pop: { data: 1 } }
}
}, {
updateOne:
{
"filter": query,
"update": {
$addToSet: {
data: webApiDataReversed
}
}
}
}
])
} catch (ex) {
console.log(`creatStock error: ${ex}`.red);
}
};
Tham khảo: mongoDB massWrite