node.js - 如何 console.log() 通过 mongoose 存储在 mongoDB 中的经度和纬度
问题描述
**
router.get("/", function(req, res) {
Map.find({}, function(err, doc) {
if (err) {
res.send(500, {
error: err
});
}
res.send(doc);
doc.map((item,i)=>(
console.log(item._id),
console.log(JSON.stringify(item.data)),
console.log(item.__v)
));
});
});
**
但是在这里我得到了 id 和 __v 的值,而不是数据项的值。我也尝试过不使用 JSON.strigify(),但又失败了。
解决方案
如果我理解您的问题,那么您正确地获得了._id
and.__v
属性的值,但是您想要lng
and lat
。这些属性隐藏在两个嵌套数组中。
你有这个:
doc.map((item,i)=>(
console.log(item._id),
// console.log(JSON.stringify(item.data)),
console.log(item.__v)
));
你说的确实得到了item._id
和item.__v
适当的。如果是这种情况,那么您必须到达data
阵列内部。例如,您在此屏幕截图中显示的第一个 lng,lat:
将会:
doc.forEach(item => {
console.log(item._id),
console.log(item.__v)
console.log(item.data[0].paths[0].lng);
console.log(item.data[0].paths[0].lat);
});
要查看这些数组中的所有值,您必须迭代两个嵌套数组。
doc.forEach(item => {
console.log(item._id),
console.log(item.__v)
item.data.forEach(obj => {
obj.paths.forEach(data => {
console.log(data.lat, data.lng);
});
});
});
推荐阅读
- spring-boot - Redis 重启后,Redis 消息被 Spring Boot 应用程序消费
- shell - 获取所有用户权限为 rw 的文件
- ruby-on-rails - 是否可以在 dev 运行时更新扩展内容?- Solidus,Ruby On Rails
- python - 如何打印用户输入的总数?
- javascript - 跨域 SignalR 导入问题
- c# - 如何通过属性 => 包菜单的反射读取包 ID 的值?
- sql - 排名日期基于今天的日期
- pyspark - RDD的弹性属性
- react-leaflet - react-leaflet-draw - onEditStart/Stop 事件在尝试编辑多个功能组时累积
- html - 如何使用 Netfirms 将 url 的所有子目录重定向到另一个 url?