Я могу опубликовать несколько коллекций в одном абонементе? если так, пожалуйста, направляйте меня.Как опубликовать несколько коллекций в режиме единой подписки в метеор?
ответ
Да. Функция publish может возвращать массив курсоров. Например:
клиента
Meteor.subscribe('roomAndMessages');
сервера
Meteor.publish("roomAndMessages", function (roomId) {
check(roomId, String);
return [
Rooms.find({_id: roomId}),
Messages.find({roomId: roomId})
];
});
Важное примечание
Если возвращать несколько курсоров в массив, В настоящее время все должны быть из разных коллекций. Мы надеемся снять это ограничение в будущем выпуске.
Спасибо. Я нашел :) –
Вместо того, чтобы возвращать массив, вы также можете создать «виртуальную» коллекцию, которую вы настраиваете в своем собственном методе публикации. Чтобы отфильтровать эти документы, вы можете использовать аргументы для публикации/подписки. Если вы просто хотите иметь сложные документы для отображения контента, это может быть разумным решением. Если вы хотите использовать коллекцию также для обновлений на db, результат массива в основном проще реализовать. Привет, Том –
Измените свой вопрос и добавьте фрагмент кода, который вы пытались использовать. Это поможет людям ответить на ваш вопрос очень! Подробнее о [как задать отличный вопрос] (http://stackoverflow.com/help/how-to-ask). – methode
@methode. Спасибо друг. Я последую за –