javascript - Meteor js - 模板 : multiple collections

标签 javascript mongodb meteor collections

我有两个集合:

  • 帖子:{_id: "123", text: "some text", user_id: "456"}
  • 书签:{_id: "456", post_id: "123", user_id: "425"}

在书签集合中,post_id 是已添加书签的帖子的 _id。

我使用以下模板助手来显示特定用户的所有帖子:

Template.profile.helpers({
    posts: function () {

// get current router parameter id (iron router)
   context = Router.current().params._id;

   return Posts.find({user_id: context},   {sort: {timestamp: -1} } );
}
});

现在我想显示用户在模板中添加书签的所有帖子:userBookmarks。是否可以使用模板助手来实现这一点? 或者仅使用包或 Mongo.Collection 转换选项?

最佳答案

html:

<template name="userBookmarks">
  {{#each myBookmarks}}
    {{#with post}}
      {{text}}
    {{/with}}
  {{/each}}
</template>

js:

Template.userBookmarks.helpers({
  myBookmarks: function(){
    return Bookmarks.find({user_id: Meteor.userId()});
  },
  post: function(){
    return Posts.findOne({_id: this.post_id});
  }
});

关于javascript - Meteor js - 模板 : multiple collections,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31945091/

相关文章:

mongodb - 美元前缀字段对存储无效

node.js - 更新 Meteorjs 应用程序后,MongoDB 数据库会发生什么情况?

javascript - 当视口(viewport)宽度达到某个值时停止/启动窗口调整大小

javascript - 在按钮单击事件中旋转文本

JavaScript 函数将两个数字相乘,直到它们相等

javascript - 前一个查询的 meteor 返回名称

javascript - 带有页面滚动条的 jQuery 模态滚动

mongodb - 如何使用 MongoDb id 数组获取多个文档?

javascript - 插入失败: Error: Title is required

angularjs - 两种方式数据绑定(bind)和 react 性有什么区别?