2016-07-01 14 views
0

RethinkDBをアプリに使用することを考えており、歴史的なバージョン管理を実装する必要があります。 PostgreSQLでは、Time Travelを実装しました。ここでは、NEWがバージョン番号に+1してvalid_from = now()を割り当て、NEWはvalid_toフィールドを変更して歴史的なものにしました。RethinkDB:​​時間旅行(古いものもあります)

RethinDBでも同じことができますか?

私は新しいデータベース、テーブルをセットアップし、指示に従っていますが、すべてがアップセルをしたいようです。高度な

+0

ちょっと@tjmgis答えを見つけましたか? – dalanmiller

答えて

0

おかげで、私は別の質問に答えsimilar to this one over here

基本的には、データモデルに特定の期待値を設定するだけで簡単に実行できます。私はまた、ドキュメントが限られた時間だけ更新されると仮定しようとしています。現時点では、RethinkDBの文書には16MBの制限が推奨されています。データがそれを超えると予想される場合は、代わりに新しい文書を挿入し、前述のように有効なプロパティブールフリップを行う必要があります。あなただけの、

{ 
    id: "a randomly generated uuid", 
    order_id: 1, 
    orders: [ 
     { 
     quantity: 40, price: 100, timestamp: "12:35AM 4/22/2016" // Newest modification 
     }, 
     { 
     quantity: 20, price: 100, timestamp: "12:03AM 4/22/2016" // Original order 
     } 
    ] 
} 

するたびにドキュメントを変更:|

基本的には、全体の新しい行を作成するのではなく1が更新された文書を、あなたは、その値は、文書自体の配列である性質を持っています配列のインデックス0を変更してから、ドキュメントの最新バージョンを先頭に挿入します。上記の販売用ドキュメントの例を変更すると、次のようになります。

{ 
    id: "a randomly generated uuid", 
    order_id: 1, 
    orders: [ 
     { 
     quantity: 80, price: 100, timestamp: "1:00AM 4/22/2016" // Newest modification 
     }, 
     { 
     quantity: 40, price: 100, timestamp: "12:35AM 4/22/2016" // Newest modification 
     }, 
     { 
     quantity: 20, price: 100, timestamp: "12:03AM 4/22/2016" // Original order 
     } 
    ] 
} 

これは意味がありますか?あなたは私がリンクしている他の答えのいくつかの例のJavaScriptコードを見つけることができます。

関連する問題