JavaScript Object.hasOwnProperty() issue



这是来自mongodb:的文档

{
"_id" : ObjectId("5c11827eec69860e24519415"),
"cardNumber" : "4519021475877785",
"accounts" : [ 
{        
"_id" : ObjectId("5c10975d58fdf013e803e5da"),
"currency" : "CAD"
}
]
}

我从它那里得到了账号:account = data.accounts[0]

我可以得到这个帐户的currency的值:currency = account.currency

在我看来,我认为JavaScript中的帐户是一个对象。

因此,account.hasOwnProperty('currency')应该是true

但当我运行代码时,它是false。。。。

有人知道吗?

Mongoose作为查询结果提供的对象不是一个普通的旧JS对象。它是一个Document对象(该类在Mongoose中定义(,在其他地方(可能在其原型链中(保存数据,这就是hasOwnProperty返回false的原因。

如果您想获得一个包含数据字段作为自己属性的对象,可以调用Document对象的toObject((方法。此处的文档

最新更新