sql >> データベース >  >> NoSQL >> MongoDB

1回の呼び出しで複数のMongoDBドキュメントを作成および更新します

    基本的に、 bulkWriteが必要です upsertを使用した操作

    const array = [
        {  someId: 1, someProp: prop1, isOpen: true  },
        {  someId: 2, someProp: prop1, isOpen: true  },
        {  someId: 5, someProp: prop1, isOpen: true  },
        {  someId: 6, someProp: prop1, isOpen: true  }
    ]
    
    
    Model.bulkWrite(
      array.map((data) => 
        ({
          updateOne: {
            filter: { someId: data.someId },
            update: { $set: { isOpen: false, someProp: data.someProp } },
            upsert: true
          }
        })
      )
    })
    

    出力が表示されます

    [
      {  someId: 1, someProp: prop1, isOpen: false  },
      {  someId: 2, someProp: prop1, isOpen: false  },
      {  someId: 3, someProp: prop1, isOpen: true  },
      {  someId: 4, someProp: prop1, isOpen: true  },
      {  someId: 5, someProp: prop1, isOpen: true  },
      {  someId: 6, someProp: prop1, isOpen: true  }
    ]
    



    1. BsonDocumentオブジェクトを逆シリアル化してクラスに戻す方法

    2. 最も効率的なnode.jsプロセス間通信ライブラリ/メソッドは何ですか?

    3. mongoError:トポロジが破棄されました

    4. 配列を比較して違いを返す