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

マングース__vいつ変わるのか

    記事の作成者は、バージョン増分が内部的にいつ適用されるかについてはあまり明確ではありませんでした。これは、updateコマンドを使用しているときにバージョンフィールドが更新されないことがわかったためです。

    更新コマンドをMongooseプル に置き換えた場合 配列のメソッドバージョンフィールドがインクリメントされます:

    var t = Test();
    t.name = 'hi'
    t.arr = [1, 2, 3, 4, 5, 6];
    
    t.save(function (err, result) {
        console.log(result);
    
        // use Mongoose pull method on the array
        t.arr.pull(3);
    
        t.save(function(err2, result2) {
            console.log(result2)
        });
    });
    

    結果:

    { __v: 0,
      name: 'hi',
      _id: 53f59d2a6522edb12114b98c,
      arr: [ 1, 2, 3, 4, 5, 6 ] }
    { __v: 1,
      name: 'hi',
      _id: 53f59d2a6522edb12114b98c,
      arr: [ 1, 2, 4, 5, 6 ] }
    

    編集:

    モデルのupdateメソッドは、基本的にクエリをビルドして実行するだけです。保存方法を使用すると、バージョンのチェック/インクリメントが行われます




    1. monogdbの$facet集約

    2. ユーザーがフォローしているユーザーからファイルのフィードを作成するにはどうすればよいですか?

    3. mongorestore失敗:到達可能なサーバーがありません

    4. 配列内の最大要素を見つける