【问题标题】:How to optimize api response in nodejs?如何优化nodejs中的api响应?
【发布时间】:2019-09-23 08:41:36
【问题描述】:

我有文章列表。它们包含类别和子类别。

const articles = [ { name, ..., category: { name, … , subCategories: [{ name, ... }] } } ]

我有 api 端点,我发送所有文章的类别和子类别(这是强制性的)。

问题是类别和子类别是重复的(可以是大数据发送),相同的类别和子类别在文章1和文章90中。

我想从文章中排除类别,只需替换为id 并创建另一个属性类别,并将它们发送回客户端。

res.json({ categories: [{ name: "1", ... , subCategories }], articles: [{ name , …, category: "1" }] });

对于我在 nodejs 中重复数据的所有对象,如何以简单的方式和通用的方式实现这一点?

【问题讨论】:

  • 您是如何加载类别的?我会全部发送而不是使用多个请求。
  • 所有对象都来自 mongodb,每个对象都有另一个对象的引用。例如,文章具有引用类别方案的类别。
  • 这个 IMO 不存在任何流行的解决方案。大多数 API 发送所有可用信息以保持客户端简单。甚至 Google API 也会发送数千行的响应。

标签: node.js


【解决方案1】:

我认为取决于您的应用程序需要显示的内容。但一个常见的解决方案是在 API 中使用分页(例如,获取 10 个单元的块),然后在前端处理分页。

其他解决方案是进行某种整合。例如,如果您要在一个间隔内列出设备的所有读取,每 5 秒向服务器发送一次数据,您可以运行后台服务来整合数据并保存所有值的平均值。然后,前端会在间隔内得到平均值,而不是实际上所有读取。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-06-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-07
    • 1970-01-01
    • 2019-01-13
    相关资源
    最近更新 更多