猫鼬嵌套模式仅保存文档的值,不包括嵌套对象

时间:2020-09-19 12:39:36

标签: node.js mongodb express mongoose

我正在尝试添加密钥以指定是否已验证手机号码和电子邮件地址,但是当我将其保存到数据库时,没有经过验证,而只有电子邮件地址和手机号码的值,我该如何添加验证对象成吗?还是有更好的方法来判断手机号码和电子邮件是否已通过验证?

    const mongoose = require("mongoose"); 
    const UserSchema = mongoose.Schema({   username:{
    type: String,
    required: true,
    unique: [true,'Sorry username is taken please try another']   },
    phone: {
    verified:{
      type: Boolean,
      default: false
    },
    number:{
      type: String,
      required: true,
      unique: [true,'Mobile already registered']
    },
    type: Array
    },   
    email: {
    verified:{
      type: Boolean,
      default: false
    },
    address:{
      type: String,
      required: true,
      unique: [true,'Email already registered']
    },
    type: Array   },
    dateCreated: {
    type: Date,
    default: Date.now()   } }) 
    module.exports = mongoose.model("users", UserSchema);

1 个答案:

答案 0 :(得分:0)

您可以从客户端进行一些验证,然后可以将数据发布到服务器,并可以使用ObjectIdemail作为唯一/主键来使用{{ 3}}

例如。

verify

或者您可以使用有效载荷数据中的电子邮件,只要足以满足您的请求

const user = await User.updateOne({ _id: userObjId }, { verified: true })