美文网首页
个人资料Schema设计和参数校验

个人资料Schema设计和参数校验

作者: HuFan_JS | 来源:发表于2020-03-26 22:03 被阅读0次

Schema设计

const userSchema = new Schema({
  __v: { type: Number, select: false },
  name: { type: String, required: true },
  password: { type: String, required: true, select: false },
  avatar_url: { type: String },
  gender: {
    type: String,
    enum: ['male', 'female'],
    required: true,
    default: 'male',
    select: false
  },
  introduction: { type: String, select: false },
  locations: { type: [{ type: String }], select: false },
  business: { type: String, select: false },
  careers: {
    type: [
      {
        commpany: { type: String },
        job: { type: String }
      }
    ],
    select: false
  },
  education: {
    type: [
      {
        school: { type: String },
        major: { type: String },
        diploma: { type: Number, enum: [1, 2, 3, 4, 5] },
        entrance_year: { type: Number },
        graduation_year: { type: Number }
      }
    ],
    select: false
  }
})

参数校验

ctx.verifyParams({
  name: { type: 'string', required: false },
  password: { type: 'string', required: false },
  avatar_url: { type: 'string', required: false },
  gender: { type: 'string', required: false },
  introduction: { type: 'string', required: false },
  locations: { type: 'array', itemType: 'string', required: false },
  business: { type: 'string', required: false },
  careers: { type: 'array', itemType: 'object', required: false },
  education: { type: 'array', itemType: 'object', required: false }
})

相关文章

网友评论

      本文标题:个人资料Schema设计和参数校验

      本文链接:https://www.haomeiwen.com/subject/lbmthhtx.html