【发布时间】:2020-08-20 01:31:17
【问题描述】:
在我的代码中,我有以下控制台日志:
console.log(JSON.stringify(department.locationFilter, null, 2));
console.log(JSON.stringify(department.locationFilter.geoLocation, null, 2));
第一个日志结果:
{
"city": "Stuttgart",
"radius": 50,
"geoLocation": {
"type": "Point",
"coordinates": [
9.1800132,
48.7784485
]
}
}
第二个日志结果:
undefined
当我登录"geoLocation" in department.locationFilter 时,它也会导致false。
我不明白为什么 geoLocation 是 undefined,因为它存在于 JSON 对象中。
更多信息,从mongodb读取部门。
【问题讨论】:
-
你使用猫鼬吗?因为 Mongoose 以生成奇怪且不可变的对象而闻名。您记录的内容不一定是您认为的 JSON,而是 Mongoose 的一些怪人。首先尝试将 Mongoose 对象转换为普通的普通对象:
department = department.toObject()然后再试一次 -
geoLocation是否有任何不可见的空白字符? -
geoLocation在所有记录中都可用吗? -
是的,我正在使用猫鼬。没有空格
-
@JeremyTille 你的小费有效。我会接受它作为答案。奇怪的事情,因为城市和半径工作,但地理位置不是
标签: javascript node.js json mongodb mongoose