0
如果我添加一個屬性到一個域對象,這會影響到MongoDB文檔。例如,爲我的用戶添加一個新的「facebookId」屬性,將爲我的MongoDB文檔添加一個新的facebookId字段。在MongoDB中版本化單個文檔有哪些不同的方法?
跟蹤文檔版本有哪些不同的方法?
我正在考慮爲我的所有文檔添加一個「_version」字段。還有其他解決方案嗎?
如果我添加一個屬性到一個域對象,這會影響到MongoDB文檔。例如,爲我的用戶添加一個新的「facebookId」屬性,將爲我的MongoDB文檔添加一個新的facebookId字段。在MongoDB中版本化單個文檔有哪些不同的方法?
跟蹤文檔版本有哪些不同的方法?
我正在考慮爲我的所有文檔添加一個「_version」字段。還有其他解決方案嗎?
如果你指的是文檔架構版本,有幾個選項:
version
字段添加到比原來的模式較新的所有文件或只是那些(只有當事情從改變其添加原始模式)。考慮到BSON文檔中的每一個字節都會計數,我會保持簡短,如_v : 1
。根據消費平臺(如Node.JS,C#,Java等),擁有版本可能不會使反序列化變得簡單。2
具有facebookId
)。對於簡單的情況,這可以通過基於字段的存在來改變對象行爲而容易地在模型類中處理。這是我之前完成的工作,在很多情況下都能很好地工作。如果新字段可以爲空/不需要,它使事情變得更容易(特別是#2和#4)。
太棒了!謝謝。 – boblapointe 2013-03-18 03:17:02