如何在Meteor中将多个数据库的结果显示为列表格式

How to display results from multiple databases into a list format in Meteor

本文关键字:结果 显示 格式 列表 数据库 Meteor      更新时间:2023-09-26

我一直在试图找出如何将两个mongo集合中的项目列表显示在同一列表中,这意味着同等时间戳的条目被放入同一列表片段中。

例如:

{{#each usernames}}
  {{> userlist}}
{{/each>}}

列表模板为

<template name="userlist">
  <li>
  </li>
</template>

函数"用户名"(在app.js中的Template.body.helpers中)是

usernames: function () {
  return Usernames.find({}, {sort: {createdAt: -1}})
}

对于单个数据库,解决方案按创建日期的顺序返回每个数据库条目。

我已经用Spacebar和JavaScript(Meteor)测试了一堆代码,但无法将两个数据库的结果结合起来。

我想知道是否有一个将结果连接起来的解决方案,但在Spacebars中尝试这种方法没有结果。

因为MongoDB不支持将多个集合合并、组合或同时查询到一个集合中,所以您必须分别查询它们,并在服务器上创建一个非数据库支持的发布,将两个集合中的记录混合在一起。

例如,请参阅按房间计数的示例,并确保将相同的发布名称("计数")传递给传递给observeChanges的所有added事件。