【发布时间】:2021-05-28 16:16:59
【问题描述】:
我有一个需要跟踪文档历史记录的 C# 应用程序,所以我想实现 Document Versioning Pattern。但是我不知道如何在 hist 集合上执行 _id。
假设我的文档如下所示:
{
_id : "abc",
rev : 3,
loc : "root"
dat : {
..
}
}
我尝试的是两个集合,live 和 hist。但是如何将 hist 表上的 _id 设置为 { _id, rev } 或生成的 ObjectId?否则尝试将“abc”的下一个 rev 插入 hist 会导致重复键错误。
c# 类上的属性不起作用,因为这会导致两个集合上的 _id 相同。
我也想过将它们放入一个集合中,但如果我需要所有具有 loc=root 的活动文档,这会使查询变得相当复杂。
我有点难过,文章没有提到这个明显的问题。
【问题讨论】: