这是来自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((方法。此处的文档