更改mongoose模型会导致代码出错

时间:2016-07-09 20:10:08

标签: javascript node.js mongodb mongoose

在我的用户架构中,我有一个属性:

  verification: {
    phoneVerification: {
      verified: Boolean,
      code: String,
    },

但是,如果我将其更改为:

  verification: {
    phoneVerification: {
      verified: Boolean,
      code: String,
      carrier: String,
      type: String
    },

它改变了我的Javascript输出,最终导致我出错。

let user = await User.findOne({ _id: req.user._id }, '-salt -password').exec();
user.verification.phoneVerification = {};
console.log(user.verification);

此代码首先输出:

{ phoneVerification: null,
  mailVerification: { verified: false, code: '1c7d55d3d2e64ae98e82' } }

然后结束输出:

{ mailVerification: { verified: false, code: '1c7d55d3d2e64ae98e82' } }

我的模特改变后。

由于phoneVerification未实例化,我的代码给了我一个错误。

这很奇怪,导致这种情况发生的原因是什么?

编辑:
我问为什么在用户模型上向属性添加另一个子属性,我无法再实例化此verify.phoneVerification对象以最终保存属性。这不是上述问题的重复。

0 个答案:

没有答案