猫鼬-如何限制日期大于今天的日期?

时间:2020-05-12 21:33:35

标签: javascript node.js mongodb mongoose model

对于此模型,我要防止用户将日期设置为今天的日期之前的日期。我该怎么办?

var requestSchema = new Schema({
  paciente: {
    type: mongoose.Schema.Types.ObjectId,
    ref: "User",
  },
  encaminhado: {
    type: Boolean,
    required: [true, "encaminhado is a required field"],
  }, //vem do body
  pessoaRisco: {
    type: Boolean,
    required: [true, "pessoaRisco is a required field"],
  }, //vem do body
  trabalhoRisco: {
    type: Boolean,
    required: [true, "trabalhoRisco is a required field"],
  }, //vem do body
  estadoPedido: {
    type: String,
    enum: ["Pendente", "Agendado", "Concluído", "Aguarda Resultado"],
  },
  resultado: { type: String, enum: ["Positivo", "Negativo"] },
  dataExame: { type: Date }, //data tem de ser superior a data atual
});

1 个答案:

答案 0 :(得分:1)

您可以使用验证功能,例如:

dataExame: { 
    type: Date,
    validate: function(input) {
        /* return true only if the input is a valid date, AND is 
        greater than or equal to the current date/time */
        return typeof new Date(input) === 'date' && new Date(input) >= new Date();
    },
    message: input => `${input} must be greater than or equal to the current date!`
}, //data tem de ser superior a data atual