MongoosebulkWrite 丢失数据

问题描述 投票:0回答:0

我尝试使用 Model.bulkWrite()。结果显示所有文档都已更新(2567),但是当我签入数据库时,我只有 2340 个文档。

    this.marketModel
      .bulkWrite(
        data.map((market) => ({
          updateOne: {
            filter: { code: market.code, exchangeCode: market.exchangeCode },
            update: market,
            upsert: true,
          },
        })),
      )
      .then((result) => console.log(result))

记录结果:

BulkWriteResult {
  insertedCount: 0,
  matchedCount: 2568,
  modifiedCount: 2568,
  deletedCount: 0,
  upsertedCount: 0,
  upsertedIds: {},
  insertedIds: {}
}

我尝试将其分成更小的块,但它也只更新了 2340 个文档。

看起来猫鼬丢失了数据。

当我第一次以这种方式插入数据时,它也会丢失数据。

编辑: 我根据每个对象在 ExchangeCode 和 ExchangeCode 字段都有唯一约束的信息,但事实并非如此。因此,如果将来有人来到这里,请检查两次您的过滤器,以确保它是独一无二的。

database mongodb mongoose nestjs bulkinsert
© www.soinside.com 2019 - 2024. All rights reserved.