本文整理汇总了TypeScript中meteor/meteor.Meteor.publishComposite方法的典型用法代码示例。如果您正苦于以下问题:TypeScript Meteor.publishComposite方法的具体用法?TypeScript Meteor.publishComposite怎么用?TypeScript Meteor.publishComposite使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类meteor/meteor.Meteor
的用法示例。
在下文中一共展示了Meteor.publishComposite方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的TypeScript代码示例。
示例1: initPublications
export function initPublications() {
Meteor.publish('users', function(): Mongo.Cursor<User> {
if (!this.userId) return;
return Users.collection.find({}, {
fields: {
profile: 1
}
});
});
Meteor.publish('messages', function(chatId: string): Mongo.Cursor<Message> {
if (!this.userId) return;
if (!chatId) return;
return Messages.collection.find({chatId});
});
Meteor.publishComposite('chats', function() {
if (!this.userId) return;
return {
find: () => {
return Chats.collection.find({memberIds: this.userId});
},
children: [
{
find: (chat) => {
return Messages.collection.find({chatId: chat._id}, {
sort: {createdAt: -1},
limit: 1
});
}
},
{
find: (chat) => {
return Users.collection.find({
_id: {$in: chat.memberIds}
}, {
fields: {profile: 1}
});
}
}
]
};
});
}