NodeJS 如何从对象数组中取出字段值

6ljaweal  于 2023-01-04  发布在  Node.js
关注(0)|答案(1)|浏览(180)

我正在使用node.js和express从 Mongoose 数据库检索数据。
目前,我收到这样的回复

[
    {
        "images": [
            {
                "link": "https://just-incase-from-a-far/yop.png"
            },
            {
                "link": "https://main-link-test/lol.png"
            }
        ]
    },
    {
        "images": [
            {
                "link": "https://example-link/happy.jpg"
            },
            {
                "link": "https://example-link/angry.jpg"
            },
            {
                "link": "https://example-link/sad.png"
            }
        ]
    }
]

但我想要这样的回应

[
    "https://just-incase-from-a-far/yop.png",
    "https://main-link-test/lol.png",
    "https://example-link/happy.jpg",
    "https://example-link/angry.jpg",
    "https://example-link/sad.png"
]

我怎样才能得到我想要的回应。
这是我的代码,它给出了数组对象的响应

exports.getProducts = async (req,res) => {
    const result = await Product
    .find({isEmpty:false})
    .select("-_id -createdAt -__v -isEmpty")
    .exec()
    if(!result) return res.status(400).json({ data: 'No product found' });
    if(result.err) return res.json({ err: err });
    return res.json(result);

}
h79rfbju

h79rfbju1#

只需添加一个提取链接的外部循环

links = [];
result.forEach((obj) => {
    links = [...obj.images.map((o) => o.link), ...links];
})

相关问题