У меня есть коллекция Feeds и коллекция FeedElements. В документах FeedElements имеется ссылка на коллекцию Feeds через поле feedId. Кроме того, все документы FeedElements имеют поле даты submitted.
Я хочу опубликовать только новый (определяемый полем submitted) FeedElements документ, который соответствует точно одному документу Feeds.
Вот что я пробовал:
Meteor.publish('recentFeedElements', function (userId) {
var feedIds = Feeds.find({'userId': userId}).map(function(feed) {
return feed._id;
});
if (feedsIds.length > 0) return FeedElements.find({feedId: {$in: feedIds}}, {sort: {submitted: -1});
else this.ready();
});
Проблема в том, что если я использую limit в сочетании с sort внутри запроса FeedElements.find(), я получаю только самые новые документы всех документов Feed. Тем не менее, я хочу иметь строгое отношение 1-1. Итак, один документ Feed → самый новый FeedElements документ с соответствующей ссылкой.