第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

在MongoDB中實(shí)現(xiàn)數(shù)據(jù)版本控制的方法

在MongoDB中實(shí)現(xiàn)數(shù)據(jù)版本控制的方法

達(dá)令說(shuō) 2019-08-23 14:56:51
在MongoDB中實(shí)現(xiàn)數(shù)據(jù)版本控制的方法您能否分享一下您如何在MongoDB中實(shí)現(xiàn)數(shù)據(jù)版本控制?(我問(wèn)過(guò)關(guān)于Cassandra的類似問(wèn)題。如果你有任何想法,哪個(gè)數(shù)據(jù)庫(kù)更好,請(qǐng)分享)假設(shè)我需要在簡(jiǎn)單的地址簿中對(duì)記錄進(jìn)行版本控制。(地址簿記錄存儲(chǔ)為平面json對(duì)象)。我期待歷史:將很少使用將一次性使用以“時(shí)間機(jī)器”的方式呈現(xiàn)它單個(gè)記錄的版本不會(huì)超過(guò)幾百個(gè)。歷史不會(huì)過(guò)期。我正在考慮以下方法:創(chuàng)建新的對(duì)象集合以存儲(chǔ)記錄的歷史記錄或?qū)τ涗浀母?。它將為每個(gè)版本存儲(chǔ)一個(gè)對(duì)象,并引用地址簿條目。這些記錄如下:{  '_id':'新id',  'user':user_id,  'timestamp':時(shí)間戳,  'address_book_id':'地址簿記錄的ID'   'old_record':{'first_name':'Jon','last_name':'Doe'......}}可以修改此方法以存儲(chǔ)每個(gè)文檔的版本數(shù)組。但這似乎是沒(méi)有任何優(yōu)勢(shì)的較慢的方法。將版本存儲(chǔ)為附加到通訊簿條目的序列化(JSON)對(duì)象。我不確定如何將這些對(duì)象附加到MongoDB文檔。也許是一個(gè)字符串?dāng)?shù)組。(使用CouchDB進(jìn)行簡(jiǎn)單文檔版本控制后建模)
查看完整描述

3 回答

?
梵蒂岡之花

TA貢獻(xiàn)1900條經(jīng)驗(yàn) 獲得超5個(gè)贊

潛入這個(gè)問(wèn)題的第一個(gè)重要問(wèn)題是“你想如何存儲(chǔ)變更集”?

  1. 比較速度?

  2. 整個(gè)記錄副本?

我個(gè)人的方法是存儲(chǔ)差異。因?yàn)檫@些差異的顯示實(shí)際上是一個(gè)特殊的動(dòng)作,所以我會(huì)將差異放在不同的“歷史”集合中。

我會(huì)使用不同的集合來(lái)節(jié)省內(nèi)存空間。您通常不希望簡(jiǎn)單查詢的完整歷史記錄。因此,通過(guò)將歷史記錄保留在對(duì)象之外,您還可以在查詢數(shù)據(jù)時(shí)將其保留在常用內(nèi)存中。

為了讓我的生活更輕松,我會(huì)讓歷史文檔包含時(shí)間戳差異字典。像這樣的東西:

{
    _id : "id of address book record",
    changes : { 
                1234567 : { "city" : "Omaha", "state" : "Nebraska" },
                1234568 : { "city" : "Kansas City", "state" : "Missouri" }
               }}

為了讓我的生活變得非常簡(jiǎn)單,我將使用我用來(lái)訪問(wèn)我的數(shù)據(jù)的DataObjects(EntityWrapper,無(wú)論如何)。通常,這些對(duì)象具有某種形式的歷史記錄,因此您可以輕松地覆蓋save()方法以同時(shí)進(jìn)行此更改。

看起來(lái)現(xiàn)在有一個(gè)處理JSON差異的規(guī)范。這似乎是一種更健壯的方式來(lái)存儲(chǔ)差異/變化。


查看完整回答
反對(duì) 回復(fù) 2019-08-23
?
回首憶惘然

TA貢獻(xiàn)1847條經(jīng)驗(yàn) 獲得超11個(gè)贊

我使用下面的包用于meteor / MongoDB項(xiàng)目,它運(yùn)行良好,主要優(yōu)點(diǎn)是它將歷史/修訂存儲(chǔ)在同一文檔中的數(shù)組中,因此無(wú)需額外的出版物或中間件來(lái)訪問(wèn)更改歷史記錄。它可以支持有限數(shù)量的先前版本(例如,前十個(gè)版本),它還支持更改連接(因此在特定時(shí)間段內(nèi)發(fā)生的所有更改將由一個(gè)修訂版覆蓋)。

nicklozon /流星收集,修訂

另一個(gè)聲音選項(xiàng)是使用Meteor Vermongo(這里


查看完整回答
反對(duì) 回復(fù) 2019-08-23
  • 3 回答
  • 0 關(guān)注
  • 1328 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)