javascript - Mongoose:尝试在集合中的项目数组中执行 forEach

标签 javascript mongodb mongoose

我正在尝试使用 mongoose 中的 .find 函数来获取我的收藏中的全部项目。然后我尝试使用 forEach 循环来设置变量,并使用信息插入数组。

由于某种原因它不起作用,我尝试控制台记录任何错误,但它没有返回任何内容,我是否正确使用了这个函数?

[ { _id: 5b7e933aa5b5e7165fd02e77,
id: 7151,
location: 'X: 151.1869; Y: -1006.755; Z: -98.99999',
price: 5000,
door: 'X: -2.0055665969848633; Y: 20.169893264770508; Z: 71.10984802246094',
__v: 0 },


{ _id: 5b7e96042ba33b18dd03740f,
    id: 6264,
    location: 'X: 151.1869; Y: -1006.755; Z: -98.99999',
    price: 5000,
    door: 'X: -405.9184265136719; Y: 1160.5306396484375; Z: 325.9139404296875',
    __v: 0 },
  { _id: 5b7e9664344f8c198f0fd266,
    id: 1694,
    location: 'X: 151.1869; Y: -1006.755; Z: -98.99999',
    price: 5000,
    door: 'X: -406.7716369628906; Y: 1162.4755859375; Z: 325.9158630371094',
    __v: 0 } ]

    House.find({}, function(err, house) {
        console.log(house);
        if(err) console.log(err);
        house.forEach(function(h) {
            let loadHouse = {
                id: h.id,
                location: JSON.parse(h.location),
                price: h.price,
                door: JSON.parse(h.door),
            }
    houses.push(loadHouse);
    console.log(houses);
});

最佳答案

错误似乎出现在 forEach 中,您正在尝试将 JSON.parse() 与无效的 json 字符串一起使用。

JSON.parse('X: -405.9184265136719; Y: 1160.5306396484375; Z: 325.9139404296875')

所以现在你应该删除 JSON.parse()

(抱歉,我在评论中发布了该内容,但应该将其作为答案)

关于javascript - Mongoose:尝试在集合中的项目数组中执行 forEach,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51984722/

相关文章:

javascript - jquery中如何停止事件冒泡。

java - MongoDB,2 个查询的公共(public)部分

node.js - Mongoose如何查询多个文档,如果没有找到则保存并返回id?

node.js - 如何格式化 Mongoose 调试输出 - pretty-print

javascript - 在 Angular 应用程序中运行 jQuery 函数

javascript - 以编程方式启动 crossbar.io

javascript - donut 标签的 D3.js 动画

mongodb - 如何使用 insert_many 方法处理 pymongo AutoReconnect 异常

node.js - 如何通过 Mongoose 加载带有自定义 _id 的文档?

node.js - mongodb/mongoose 中的部分索引