sql >> データベース >  >> NoSQL >> MongoDB

Mongoid ::Versioning-以前のバージョンを確認する方法は?

    Mongoid ::Versioningモジュールは、整数型の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. NODE.JS:致命的なエラー-JSの割り当てに失敗しました-大きなExcelファイルの解析中にメモリが不足しました

    2. Mongo Javaドライバーを使用したDB.eval()

    3. mongodbのネストされたオブジェクトのフィールドを更新する方法は?

    4. 原因:java.lang.IllegalArgumentException:CONTAINING(1):[IsContaining、Containing、Contains]はredisクエリの派生ではサポートされていません-Redis