如果我向域对象添加一个属性,那么这将会转向MongoDB文档。例如,向我的用户添加新的“facebookId”属性,将在我的MongoDB文档中添加一个新的facebookId字段。
跟踪文档版本有哪些不同的方法?
我正在考虑在我的所有文档中添加“_version”字段。还有其他解决方案吗?
答案 0 :(得分:0)
如果您指的是文档架构版本,则选项很少:
version
字段,或者只添加比原始模式更新的文档(仅在原始模式发生变化时添加它)。鉴于BSON文档中的每个字节都是重要的,我会保持简短,如_v : 1
。根据消费平台(如Node.JS,C#,Java等),拥有一个版本可能无法简化反序列化。2
具有facebookId
)。对于简单的情况,通过基于字段的存在来改变对象行为,可以在模型类中轻松处理。这就是我之前所做的,它在很多场景中运作良好。如果新字段可以为空/不需要,它会使事情变得更容易(特别是#2和#4)。