Meteor - 发布所有作者和最后一位作者的最佳方法 post

Meteor - Best approach to publish all authors and only their last post

这几天我一直在想这个问题,我觉得我的脑袋要爆炸了……我希望你能帮助我解决这个问题。

我正在使用 Meteor 1.10 + Blaze

我有一个包含作者数据的集合和另一个包含这些作者已发表的 posts 的集合。每个作者都是许多 post.

的创造者

我想显示一个列表,其中显示每个作者的姓名和他们最后 post 的 title/date,例如:

  1. 布莱恩·洛佩兹 - “如何快乐”- 2020 年 3 月 25 日
  2. 雷·史密斯 - “学习烹饪”- 20 年 2 月 4 日

架构示例:

author_schema = {
        _id: 'JsQEJG3qsBrKE6hep',
        name: 'Bryan',
        surname: 'Lopez',
      }

post_schema = {
        _id: 'Ftxw9YKTaxnKtJztg',
        tittle: 'how to be happy',
        date: ISODate("2020-01-30T10:00:46.572Z"),
        authorId: 'JsQEJG3qsBrKE6hep'
      }

我很清楚我必须发布所有作者,但我想避免的是将所有 post 发布到客户端,因为它会减慢加载速度并且效率低下.

有什么方法可以避免发布所有 post 并且只能发布每个作者的最后一个 post(日期最近的那个)?

非常感谢您的帮助!流星规则!

好的,这很简单。最有效的方法是在作者集合中保存 2 个额外字段,并在每次创建 post 时更新这些字段。

同样:当您将 post 保存到 posts 集合时,将 lastPostName 和 lastPostDate 保存在作者集合中并用每个 post 覆盖。您还可以添加 lastPostId,以便您可以轻松地为特定的 post.

构建 url

示例(所有这些数据都存储在作者集合中):

<span>
   <a target="_blank" href="....your url/dynamic...postId">{Your dynamic post name}</a>
   <span>{Your dynamic post date}</span>
</span

如果您想进行如下搜索:今天或最近 7 天最后 post 的作者,这将非常简单且高效。只是为了确保您的集合中有要用于搜索的任何字段的索引。