ArangoDB で履歴データを操作する方法を説明できますか?
たとえば、5 つのコレクションがあります。
1. 学校 [Type = Documents] - 学校に関する情報を保管しています。私は2つの学校を持っています: - ベストスクール - NotveryBestSchool
2. クラス [Type = Documents] - クラスに関する情報を保持します。私は4つのクラスを持っています: - ベストAクラス - ベストBクラス - NotveryBest A クラス - NotveryBest B クラス
3. 生徒 [Type = Documents] - 生徒に関する情報を保持します。 - ティミ - リサ - カイル - バート
4. ClassinSchool [Type = Edge] - 学校のクラスに関する情報を保持します。ここで、"parents" = "school" および "child" = Class: _From: School/BestSchool _To: Class/Best A Class _From: 学校/BestSchool _To: クラス/Best B クラス _From: School/NotveryBestSchool: クラス/NotveryBest A クラス _From: School/NotveryBestSchool: クラス/NotveryBest B クラス
そして最後に: 5. StudentsinClass [Type = Edge] - クラス内の学生に関する情報を保持します。ここで、「親」 = 「学生」および「子」 = クラス _From: 生徒/Timmi _To: クラス/ベスト A クラス _From: 生徒/Lisa _To: Class/Best B Class _From: 学生/Kail: クラス/NotveryBest A クラス _From: 学生/Bart: クラス/NotveryBest B クラス
そして、これがケースです。2017 バートはとてもよく勉強しました。年末に「ノットベリーベストBクラス」から新クラス「ノットベリーベストAクラス」に移籍。2018年、彼はさらによく勉強し、両親は彼を別の学校に転校させ、そこで彼の才能を伸ばすことに決めました. 彼は「NotveryBestSchool」から新しい学校「BestSchool」とクラス「Best B Class」に転校しました。
仮定: クラスと学校の間のバートの動きを追跡するために、端に日付を追加する必要があることを正しく理解していますか? このエッジの主なフィールドは、StartDates と EndDates にする必要がありますか? それとも、バートのパラメータに保存する必要がある彼の動きでしょうか? そして3番目のオプション - 別のコレクション「履歴」を作成し、そこにすべてを保存します。
どのオプションを選択しますか?