Javascript 如何仅显示id等于与给定页面关联的特定id的注释?

Javascript 如何仅显示id等于与给定页面关联的特定id的注释?,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我试图写一个基本的“网站讨论和分享”应用程序与流星和MongoDB。我对编码非常陌生,这只是为了我自己的启发。他们是我写的方式,到目前为止,我可以在与共享网站相关的单独页面上发表评论,但无论评论是在哪个页面上发表的,每个评论都会显示在每个网站页面上。我这样做是为了让评论与站点Id一起保存为他们自己的Id,所以我认为这很容易,但在5个小时的摆弄和谷歌搜索之后,我没有取得任何进展。我将在下面提供相关的代码片段,非常感谢您的帮助 在main.html中,我有这个模板 <template name

我试图写一个基本的“网站讨论和分享”应用程序与流星和MongoDB。我对编码非常陌生,这只是为了我自己的启发。他们是我写的方式,到目前为止,我可以在与共享网站相关的单独页面上发表评论,但无论评论是在哪个页面上发表的,每个评论都会显示在每个网站页面上。我这样做是为了让评论与站点Id一起保存为他们自己的Id,所以我认为这很容易,但在5个小时的摆弄和谷歌搜索之后,我没有取得任何进展。我将在下面提供相关的代码片段,非常感谢您的帮助

在main.html中,我有这个模板

<template name="discussSite">
    <h3>Discussing: {{url}} </h3>
    {{> addCommentForm}}

  {{#each comments}}
  <div class="comment" id={{siteId}}>
  <h4>{{text}}</h4>
  <h5>by {{createdBy}} on {{createdOn}}</h5>
  <h6>id: {{siteId}}</h6>

  </div>
  {{/each}}

</template>
最后,在我的helpers.js中(我知道这是主要问题所在。我还不太了解如何使用.find({})命令和过滤器

Template.discussSite.helpers({

'comments':function(siteId){

return Comments.find();

},

});
总而言之,当我在站点1上发表评论时,它会出现,但问题是相同的评论会出现在站点2和站点3下。我如何将其附加到创建它的站点并保留在那里


非常感谢您的帮助!

您的帮助者需要通过传入此站点ID来过滤如下数据:

Template.discussSite.helpers({
    'comments':function(siteId){
        return Comments.find({"siteId":siteId});
    }
});

这将帮助您创建“[选择器]”只是你想要匹配的关键字和值的散列。这很有意义,但是当我使用它时,所有的注释都消失了。新的注释也不会出现…我找到了。非常感谢。我需要使用你上面显示的内容,但将siteId改为此。\u id如下:Template.discussSite.helpers({'comments':函数(siteId){returncomments.find({“siteId”:this._id});});
Template.discussSite.helpers({
    'comments':function(siteId){
        return Comments.find({"siteId":siteId});
    }
});