0

私はマングースが初めてで、それについてたくさん検索しましたが、答えを見つけることができませんでした。助けてください、事前に感謝します。

const user = new mongoose.Schema({
    email: {
        type: String,
        required: true,
        unique: true
    },
    rollno: {
        type: Number,
        required: true,
        unique: true,
        
    },
    password : {
        type: String,
        required: true,
    },
    isVoter: {
        type: Boolean,
        required: true,
        default: true
    }
}, {
    timestamps: true
});

isVoterの値に依存するスキーマを使用できますか。たとえば、isVoterの値がfalseの場合、スキーマは次のようになります。

const user = new mongoose.Schema({
    email: {
        type: String,
        required: true,
        unique: true
    },
    rollno: {
        type: Number,
        required: true,
        unique: true,

    },
    password : {
        type: String,
        required: true,
    },
    isVoter: {
        type: Boolean,
        required: true,
        default: true
    },
    promises: [
        {
           type: String
        }
    ]
    , {
    timestamps: true
});
4

2 に答える 2

0

preマングースでフックを使用し、ドキュメントを確認し、保存する前にisVoter値を確認してください。約束を保存したくない場合は、試してくださいthis.promises = undefined

user.pre('save',  function(next) {
    if(this.isVoter== true){
       this.promises = undefined
    }
    else{
      this.promises = "hello"
      //do somethings
    }
   next();
});

そして、スキーマ内で約束を定義する必要があります

于 2021-02-06T17:42:27.000 に答える