Javascript Meteor-返回集合1中的所有文档,然后在集合1中循环查询集合2
我对Meteor(和web编程)非常陌生,设置了两个集合,一个叫做Posts,另一个叫做Authors(我确实意识到我可以将所有这些信息放在一个集合中,但我想这样尝试)。我试图显示所有帖子,所以我在HTML代码中做每一篇帖子,它将在我所有的帖子中循环。当我在我的帖子中循环时,我试图将帖子id保存在一个隐藏的输入中,这样我就可以在每篇帖子中使用该id来查询Authors集合并显示作者姓名。我添加了一个console.log,它每次都会为我的postId写入未定义的内容——你知道为什么这样做,或者是解决这个问题的更好方法(不在帖子中嵌入作者信息) html:Javascript Meteor-返回集合1中的所有文档,然后在集合1中循环查询集合2,javascript,jquery,html,meteor,hidden,Javascript,Jquery,Html,Meteor,Hidden,我对Meteor(和web编程)非常陌生,设置了两个集合,一个叫做Posts,另一个叫做Authors(我确实意识到我可以将所有这些信息放在一个集合中,但我想这样尝试)。我试图显示所有帖子,所以我在HTML代码中做每一篇帖子,它将在我所有的帖子中循环。当我在我的帖子中循环时,我试图将帖子id保存在一个隐藏的输入中,这样我就可以在每篇帖子中使用该id来查询Authors集合并显示作者姓名。我添加了一个console.log,它每次都会为我的postId写入未定义的内容——你知道为什么这样做,或者是
提前谢谢,我真的非常感谢所有的帮助 我认为没有必要将其存储在隐藏元素中 您可以使用
this.\u id
在authorname
helper中访问它
你可以像下面这样做
<template name="dashboard">
{{#each eachPost}}
<p>{{authorName}}</p>
{{/each}}
</template>
Template.dashboard.helpers({
eachPost: function()
{
return Posts.find({});
},
authorName: function()
{
console.log(this._id);
return Authors.findOne({_id: this._id});
}
});
{{{#每个帖子}
{{authorName}
{{/每个}}
Template.dashboard.helpers({
eachPost:function()
{
返回Posts.find({});
},
authorName:function()
{
console.log(此._id);
返回Authors.findOne({u-id:this.\u-id});
}
});
试试这个,它可能对你有用
Template.dashboard.helpers({
eachPost: function()
{
return Posts.find({});
},
authorName: function()
{
var postId = $('#postId').val();
console.log(postId);
return Authors.findOne({_id: postId});
}
});
<template name="dashboard">
{{#each eachPost}}
<p>{{authorName}}</p>
{{/each}}
</template>
Template.dashboard.helpers({
eachPost: function()
{
return Posts.find({});
},
authorName: function()
{
console.log(this._id);
return Authors.findOne({_id: this._id});
}
});