公众号:阿区先生

05 | 用户模型model设计

2020-10-10  本文已影响0人  cemcoe

这里是在简书仿简书的第五篇,早睡早起身体好

来看一下简书的用户,找一找用户身上要有什么字段。

可以看到用户界面要用到的数据有:用户名,用户头像,用户简介,用户文章等。

可以设计成下面的 model:

const userSchema = new Schema({
  __v: { type: Number, select: false },
  name: { type: String, required: true },
  // select: false 不要将password返回给客户端
  password: { type: String, required: true, select: false },
  // name 和 password 安全性较高,不能轻易被修改
  
  gender: { type: String, enum: ['male', 'female'], default: 'male', required: true },
  // 用户简介
  bio: { type: String, default: '该用户没有给自己编写简介' },
  // 用户头像
  avatar: { type: String, default: '/uploads/default_avatar.png' },
})

name 和 password 是注册登录的最小单元,不可缺少,其余部分可以按需添加。

下面对一些语法做一些简单的介绍,首先是 type,mongoDB 中的数据类型,需要指出的是在 mongoDB 中的数据类型和 JavaScript 中的数据类型并不是完全一致的。

type 字段限制数据的格式,select 字段限制是否展示,required 字段代表是否必须提供,default 字段用于设置默认值。enum 字段是字典,只能从中选值。

上一篇下一篇

猜你喜欢

热点阅读