仅在实际更新时,对bulk上的猫鼬更新时间戳

时间:2020-08-07 18:01:51

标签: javascript node.js mongodb mongoose

我正在使用public class VestModification : ArmorItemModification { public VestModification(StatModification modifiers, DefenseType defenseType, AreaProtectionType areaProtectionType) { this.Modifiers = modifiers; this.Defense = defenseType; this.AreaProtection = areaProtectionType; } public AreaProtectionType AreaProtection { get; set; } } Mongoose's操作来bulkWrite一个集合。

upsert

这很好用。但是,每个 const bulkWrites = collection.map(doc=> ({ updateOne: { filter: {id: doc.id}, update: doc, upsert: true } })); const bulkWriteOpResult = await Vendors.bulkWrite(bulkWrites); 的{​​{1}}字段都会更新(无论upsert中是否有任何实际更改的字段)。

我的目标是仅在任何字段实际更改时才更新该时间戳。我打算在之后检查最近的更新,然后再运行另一个查询,这样可以更轻松地过滤时间戳。

有1种操作可以执行此操作吗?而不是遍历所有文档并混合使用updatedAtdocset等。

谢谢!

0 个答案:

没有答案