有没有办法在更新之后/之前获取更新的集合?我能想到的东西是相当沉重的。
- 使用过滤器获取我想要更新的内容。
- 更新我在以前状态下获得的所有内容
- 再次通过 id 获取所有内容并检查已更新的内容。
为什么我需要这个?
我有一项服务,它不断地从数据库中获取数据。我希望它根据它们的状态自动获取东西。
例如,如果包含字段 Status 的文档的状态为 1,我希望服务获取它并在进程中自动将其更改为 2,因此所有其他组件都不会出于某种原因覆盖我。
更新看起来像:
var filter = Builders<ServiceModel>.Filter.And(
Builders<ServiceModel>.Filter.Gt(t => t.EndDate, dueDate),
Builders<ServiceModel>.Filter.Eq(t => t.Status, Enums.ServiceHandleStatus.Registered));
var update = Builders<ServiceModel>.Update.Set(t => t.Status, Enums.ServiceHandleStatus.InProcess);
var options = new UpdateOptions() { IsUpsert = false };
using (var result = this.manager.Trainings.UpdateManyAsync(filter, update, options))
有什么方向吗?
TIA。