如何从MongoDB获取固定数量文档?怎样获取指定公司的前15条新闻数据
解决方案
googleNewsAPI.getNews 接口返回的新闻内容是按相关度/发布时间排序的数组,直接调用数组的slice(0, 15)方法即可截取前15条结果,该方法会自动兼容新闻总数不足15条的场景,不会抛出异常。
修改后的完整代码如下:
export default async function handler(req, res) { try { let news = await googleNewsAPI.getNews(googleNewsAPI.SEARCH, req.body.companyName, 'en-US') // 截取前15条新闻,数量不足15时返回全部现有结果 const top15News = news.slice(0, 15) res.status(200).json(top15News) } catch (err) { res.status(500).json({ error: 'Failed to fetch news' }) } }
如果后续需要灵活调整返回的新闻条数,也可以将截取数量设置为可配置参数,示例如下:
export default async function handler(req, res) { try { // 从请求参数中读取返回条数,未传递时默认返回15条 const { companyName, limit = 15 } = req.body let news = await googleNewsAPI.getNews(googleNewsAPI.SEARCH, companyName, 'en-US') const filteredNews = news.slice(0, limit) res.status(200).json(filteredNews) } catch (err) { res.status(500).json({ error: 'Failed to fetch news' }) } }
内容的提问来源于stack exchange,提问作者Azizul Tareq
相关产品推荐
相关产品推荐

