MongoDB无法对所有相关文档执行更新操作(重命名DBRef-> ObjectId)

时间:2018-10-24 08:48:22

标签: mongodb

我正面临一个奇怪的行为,当试图立即重命名集合中所有文档中的字段时,只会导致部分更新(某些文档仍然保持原样)。

完成的操作:

  1. col.updateMany({'field1.$id': {$exists: true}}, {$rename: {'field1.$id': 'field_id'}})
  2. col.updateMany({'field1': {$exists: true}}, {$unset: {'field1': 1 }});

此后,某些文档仍然具有field1(有效的DBRef)并且没有field_id。集合的大小似乎无关紧要,因为无论大小都可以复制。

请注意,此步骤中的数据迁移非常繁重,需要进行数千次此类操作和其他操作。

三个分片,默认写关注点,oplogsizeMB设置为5000。

有什么想法吗?

0 个答案:

没有答案