私はMongoid :: VersioningモジュールをMongoidベースのクラスに含めました。これまでの「バージョン」や文書の化身を確認する最も良い方法は何ですか?私はその歴史を見ることができるようにしたい。これは、rails console
またはMongoDBシェルのいずれかを使用できます。ドキュメントの履歴を表示する最も簡単な方法は何ですか?Mongoid :: Versioning - 以前のバージョンを確認するには?
2
A
答えて
7
Mongoid :: Versioningモジュールは、Integer型のversionという名前のフィールドをドキュメントに追加します。このフィールドには、現在のドキュメントのバージョンが1から最大(定義されている場合)まで記録されます。さらに、作成される埋め込みドキュメント「バージョン」も用意されています。あなたのバージョン管理を担当するbefore_saveコールバックがあります。
一般的に私は最大をお勧めしますが、それはあなた次第です。それらを取得する方法の面では、よくあなたは例のドキュメントを与え、それでは、例として、非常に簡単な記事で行かせませんでした:
:私たちはこのようなドキュメントに何かを与える#Make an empty post, just a title, version 1
post = Post.create(:title => "Hello World")
# Now add some "content" and save, version 2
post.content = "Woo - content"
post.save
{
"title": "Hello World",
"content": "Woo - content",
"comments": [
]
"version": 2
"versions": [
{ "title": "Hello World", "version": 1 }
]
}
は今、あなたはそれを得るためにあなたの標準的な検索メカニズムを使用する必要があります。
post = Post.find(:first, :conditions => {:title => "Hello World"})
は、そのうちの最新版を入手し、次にあなたがプログラムで、以前のバージョンを検索することができます。私は出力をポストしますが、私は現時点でサンプルを設定していません。
同様に、シェルを介して実行する場合は、タイトル、バージョンフィールドに基づいてdb.namespace.find()を実行する必要があります。
うまくいけばうまくいきます。
関連する問題
- 1. 以前のバージョンをアップグレードする前にユーザー確認を求めるメッセージ
- 2. sbtのバージョンを確認するには?
- 3. リファレンスDLL - 実行時に以前のバージョンを許可する
- 4. 以前のXCodeバージョンに戻すには?
- 5. Mongoidバージョン管理スコープ
- 6. UserControlが以前にロードされたページを確認する
- 7. ダウングレードワードプレスマルチサイトを以前のバージョン
- 8. Ankhsvnの以前のバージョンをインストールする
- 9. tfsの以前のバージョンに戻る
- 10. Java JDKのバージョンとSDKのバージョンを確認する方法は?
- 11. ubuntuに以前のバージョンのRをインストール
- 12. Membaseの以前のバージョン
- 13. LinuxのコマンドプロンプトからBIOSのバージョンや名前を確認する方法は?
- 14. Jenkins EC2プラグイン以前のバージョン
- 15. JSプラグインの以前のバージョンを取得するには?
- 16. Xcode 4.3で以前のバージョンのアプリケーションテンプレートを使用するには?
- 17. Chromeの以前のバージョンを取得するには
- 18. WiX--以前のインストールを確認します
- 19. Androidのバージョンを確認する
- 20. プリプロセッサスイッチでクラスのバージョンを確認する
- 21. 以前のバージョンでアプリケーションを実行するには
- 22. フォーマットはggplot2の以前のバージョンでggplot2
- 23. COM with ATL Versioning
- 24. jqueryの前にエラーメッセージを確認する
- 25. スパーク:以前のバージョンではORC形式
- 26. peclが以前のPHPバージョン用にインストール
- 27. 実行中のSybaseのバージョンを確認するには
- 28. 実行中のCKANのバージョンを確認するには
- 29. 以前にインストールされたアプリケーションがあるかどうかを確認する
- 30. ビルドファイルでGradleのバージョン番号を確認するには?