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

更新クエリのMongooseドキュメントバージョンをインクリメントする簡単な方法はありますか?

    これが進むべき道だと思います。 ミドルウェアはこのニーズにぴったり合っており、他の方法はわかりません。実際、これは私がすべてのスキーマで行っていることです。

    ただし、注意する必要があるのは、ドキュメントの違いです。 およびクエリ ミドルウェア。ドキュメント ミドルウェアはinitに対して実行されます 、validatesave およびremove オペレーション。そこで、this ドキュメントを参照します:

    schema.pre('save', function(next) {
      this.increment();
      return next();
    });
    

    クエリ ミドルウェアはcountに対して実行されます 、findfindOnefindOneAndRemovefindOneAndUpdate およびupdate オペレーション。そこで、this クエリオブジェクトを参照します。このような操作のバージョンフィールドを更新すると、次のようになります。

    schema.pre('update', function( next ) {
      this.update({}, { $inc: { __v: 1 } }, next );
    });
    

    出典:マングースのドキュメント



    1. Spring data mongodb、SSLの設定方法は?

    2. サーバーNodeJS上のMongoでユーザー(またはカスタムベースのロール)を作成することはできません

    3. mongoDBからデータを取得してHTMLに表示する

    4. SailsJSとMongoの一意の属性は無視されます