如何在不使用简单模式的情况下与 Meteor 中的 Mongo 集合关联/关联

How to related/associate to Mongo Collections in Meteor without using simple schema

提问人:Sandro Palmieri 提问时间:2/8/2016 更新时间:2/8/2016 访问量:200

问:

我正在做一个流星项目。

第 1 步

我添加了 accounts-password 和 accounts-ui 包,以便拥有用户集合和身份验证系统。

步骤 2

我创建了一个包含以下字段的文档“帖子”的 Mongo 集合:_id、title、description 和 createdOn(date)。

步骤 3

我创建了另一个包含以下字段的文档的 Mongo 集合“注释”:_id、comment 、postedOn('date') 和 createdBy(Meteor.user()._id)

步骤 4

我添加了 iron 路由器包并设置了一些路由。您可以查看博客列表并转到单个帖子详细信息页面。 我想让登录的用户可以发表评论 在不使用 Aldeed simple-schema 包的情况下进行单个注释。

在下面找到我的项目的一些片段:

 Template.posts_list.helpers({
    posts:function(){
        return Posts.find({}, {sort: {createdOn: -1} });
    }
})
 Template.comments.helpers({
    comments:function(){
        return Comments.find({ ?????  Ho can I associate comments to a single post? });

    }
})

我想知道如何在 2 个集合之间建立正确的关联。我只想显示与相关帖子相关的评论。截至目前,所有评论都毫无区别地出现在每个帖子中。有什么帮助吗?谢谢

MongoDB Meteor Meteor-Blaze 流星助手

评论


答:

0赞 Stephen Woods 2/8/2016 #1

您希望将 postId 添加到注释架构中。然后,每当您提交评论时,获取相关帖子的_id并将其发送到您插入评论的流星方法。像这样的东西:

// In your template events:
'submitCommentForm': function( event, template ) {
    var postId = this._id; // Make sure your post data context of this form is set in a #each or #with.
    Meteor.call('addComment', event.target.comment, postId, ...) // Assuming your comment is in some sort of named input with comment as the name.
}