Как связать / связать с коллекциями Монго в Метеоре без использования простой схемы
Я работаю над метеорным проектом.
Шаг 1
Я добавил пакеты с учетной записью-паролем и пакетами для учетной записи-пользователя, чтобы иметь коллекцию пользователей и систему аутентификации.
Шаг 2
Я создал коллекцию Mongo 'Posts' документов со следующими полями: _id, title, description и creationOn(date).
Шаг 3
Я создал еще одну коллекцию Mongo 'Comments' из документов со следующими полями: _id, comment,postsOn('date') и создал By(Meteor.user()._id)
Шаг 4
Я добавил пакет железного маршрутизатора и установил некоторую маршрутизацию. Вы можете просмотреть список блогов и перейти на страницу с подробным сообщением. Я хочу предоставить пользователям, которые вошли в систему, возможность оставлять комментарии к одному комментарию без использования пакета простой схемы aldeed.
Найдите ниже некоторые фрагменты из моего проекта:
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? });
}
})
Мне интересно, как я могу сделать правильную связь между двумя коллекциями. Я хотел бы показать только те комментарии, которые связаны с соответствующим постом. На данный момент все комментарии появляются к каждому сообщению без различия. Любая помощь? Спасибо
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.
}