У меня есть коллекция 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
документ с соответствующей ссылкой.