为什么在使用getters设置为true的情况下调用mongoose文档时调用toObject()会删除属性?

时间:2017-04-01 20:37:45

标签: node.js mongoose

在具有设置为toObject()的(嵌套)属性的文档上调用null时,属性将被删除,但仅在向getters选项提供true时},见下面的例子。

var mongoose = require('mongoose');

const schema = new mongoose.Schema({
   customer: {
      name: { type: String, required: false },
   },
});

var Model = mongoose.model('Model', schema);
var model = new Model();
model.customer = null;
console.log(model.toObject());
console.log(model.toObject({ getters: true }));

//Prints: 
//{ _id: 58e00dcd71bf5916802bdb3c, customer: null }
//{ _id: 58e00dcd71bf5916802bdb3c, id: '58e00dcd71bf5916802bdb3c' }

这是为什么? 我使用的是mongoose v.4.9.2

0 个答案:

没有答案