簡體   English   中英

批量更新和插入 mongoose 和 nodejs

[英]bulk update and insert in mongoose and nodejs

我想在nodejs中創建和更新項目列表,如果項目存在更新,如果不存在則將它們添加到數據庫中,如果項目存在於數據庫中但不存在於列表中,則從數據庫中刪除該項目。

我第一次將此列表發送到服務器:

intrestName: [
{ name: '11' },
{ name: '22' }, 
{ name: '33' },
{ name: '44' }]

第一次我想添加所有這些項目以使用此代碼保存在數據庫中:

    await IntrestModel.updateMany({},{$set:{...item.intrestName}}, { upsert: true });

但它沒有在數據庫中添加任何東西。

有什么問題? 我該如何解決這個問題????

您必須使用insertMany的 insertMany 方法updateMany用於更新數據庫中已有的記錄,但不是您的情況

https://mongoosejs.com/docs/api.html#model_Model.insertMany

編輯


intrestNames = [
  { name: '11' },
  { name: '22' }, 
  { name: '33' },
  { name: '44' }
]

await Promise.all(
  intrestNames.map((intrestName) => {
    return IntrestModel.updateOne(intrestName, {$set: intrestName}, { upsert: true })
 })
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM