首页 > 解决方案 > Mongoose:尝试在集合中的项目数组中执行 forEach

问题描述

我正在尝试使用猫鼬.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);
});

标签: javascriptmongodbmongoose

解决方案


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

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

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

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


推荐阅读