为了解决我遇到的错误,我编写了以下代码段:
var myFunction = function(obj) {
var keys = Object.getOwnPropertyNames(obj);
console.log(obj);
console.log(keys);
}
在mongoose查询回调中运行我的函数时,控制台会记录下这个:
{_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 ]
我的问题是为什么我在myFunction中创建的键obj不包含我记录实际对象时显示的属性名称?