Mongoose对象的密钥与属性名称不同



,为了解决我遇到的错误,我写了以下片段:

var myFunction = function(obj) {
var keys = Object.getOwnPropertyNames(obj);
console.log(obj);
console.log(keys);
}

在蒙古查询回调中运行我的功能时,控制台记录了以下内容:

{_id: 5a8g123vjsdj83nf8afvn48,
username: 'Player1',
adv1: { name: 'a', type: '!' },
adv2: { name: 'a', type: '!' },
adv3: { name: 'a', type: '!' },
__v: 0,
invitations: [ 'PlayTest1', 'PlayTest2' ] }
[ '$__', 'isNew', 'errors', '_doc', '$init' ]
据我了解,

现在,控制台中的最后一行(为了阅读方便)应读:

[ '_id', 'username', 'adv1', 'adv2', 'adv3', '__v', 'invitations ]

我的问题是,为什么我在我的功能中创建的键obj不包含我记录实际对象时显示的属性名称?

mongoose文档字段存储在 obj._doc

console.log由于附加到文档对象的.inspect函数而显示文档字段。

如果要调试一些内容,请使用node --inspect

最新更新