是否有方便的方法来定位字段(DateTimeAccessed
,DateTimeModified
等,在这种情况下,虽然更通用的答案可以正常工作)文档要作为副作用更新当他们被Mongo感动时?
我可以尝试包装mongoCollection.Find*|Remove*...
方法,或尝试拦截Query
个对象,寻找合适的字段($ set - > add set DateTimeModified,例如),但所有这一切似乎相当特别和hacky。有没有一种标准的方法来做这种事情,而不模拟一个钩子'进入数据库交互?
答案 0 :(得分:0)
我通常会创建一个基本的Update方法,所有其他方法都会使用它来开始构建更新。
e.g。
/// <summary>
/// Get the initial update builder
/// </summary>
private UpdateBuilder<Account> UpdateBuilder()
{
var now = DateTime.UtcNow;
return new UpdateBuilder<Account>()
.Set(e => e.DateTimeUtcAccessed, now)
.Set(e => e.DateTimeUtcModified, now);
}
您还可以将此作为通用方法,并将接口IDateTimeStamps
添加到要应用此类的所有类。