2017-04-09 2 views
1

ArangoDBで作成されたすべてのドキュメントで_revが表示されていますが、これらのリビジョンを使用してドキュメントの変更履歴にアクセスする方法についての情報はまだありません。具体的には、特定のドキュメントのリビジョン履歴を照会して、以前のバージョンまたは特定のバージョンのドキュメントを表示するにはどうすればよいですか?ArangoDBで改訂履歴をクエリするにはどうすればよいですか?

答えて

2

リビジョン(_rev)属性はマーカーとしてのみ存在し、フィールドがいつ更新されたかを知ることができます。直接変更することはできませんが、コレクション内の文書UPDATEがあるたびに、_revの値が更新されます。

履歴値を保存するには、更新されたドキュメントの古い値をアーカイブするプロセスを実装する必要があります。

_rev属性は、ドキュメントをスキャンして値が変更されたかどうかを確認する際に非常に役立ちます。ドキュメントとあなたが見たいと思っているものを深く比較するのではなく、あなたが見たいものと_revの属性を単に比較することができます。データベースがあなたがチェックしていたものとは異なる_revの値を返す場合、あなたのコードは変更されたドキュメントに応答することができますが、必要です。

あなたが望むようあなたがUPDATEUPSERTコマンドを実行して、ドキュメントの古いバージョン(the doco)へのアクセス権を持っていて、アーカイブの場所にオフにプッシュするOLD文書の内容を返すように選択することができ、またはプロセス、覚えておいてください。更新後、更新されたドキュメントには新しい_rev値が返されます。

UPDATEまたはUPSERTコマンドの返信後に値が維持されないため、すぐにアーカイブするか、古いドキュメントが失われます。

関連する問題