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

マングースエラー:__vと__vを同時に更新することはできません

    _id関連の削除ロジックをマングースモデルのスキーマ定義ファイルに入れることをお勧めします:

    var UserSchema = new mongoose.Schema(fieldDefinitions);
    
    // Ensure virtual fields are serialised.
    UserSchema.set('toJSON', {
        virtuals: true
    });
    
    // Ensure able to see virtual fields output when using console.log(obj)
    UserSchema.set('toObject', {
        virtuals: true
    });
    
    UserSchema.options.toJSON = {
    
        transform : function(doc, ret, options) {
    
            console.log('--> ' + require('util').inspect( ret._id.id ));
    
            ret.id = ret._id.id;
            delete ret._id;
            delete ret.__v;
    
            return ret;
        },
        virtuals: true
    };
    

    次に、コールバックでtoJSONを実行します:

    var processedJson = resultDoc.toJSON();
    

    再利用可能なロジックをうまく隠す処理済みバージョンを取得します。
    注:toJSON()もJSON.stringify()によって魔法のように実行されます




    1. オブジェクトのプロパティをredisに保存する

    2. redisでのパイプラインとトランザクション

    3. MongoError:最初の接続時にサーバー[localhost:27017]に接続できませんでした

    4. 複数のRedisインスタンス