// Snippet from Template <div class="post-container"> {{#each elements}} {{> post-element this}} {{/each}} </div> // Snippet from Client Meteor.subscribe('thePosts'); // Snippet from Server Meteor.publish('thePosts', function(){ return Posts.find({}, {sort:{createdAt:-1}, reactive:true}); });
当我做…
Posts.insert({body:postBody, createdAt: new Date()});
邮政文档被添加并显示在列表的末尾,与我的发布功能中指定的降序相反。关于我在做什么错的任何想法吗?
谢谢!
发布功能确定哪些记录应同步到任何订阅客户端的mini- mongo数据库。因此,使用publish函数对数据进行排序实际上对客户端没有影响,因为客户端数据库可能会以其他方式存储它们。
当然,您可能希望在发布者的目录find中使用sort,以将记录数限制为最近的N条- 但这只是决定同步哪些记录的一种方法,而不是决定记录的存储/使用方式。客户。
find
记录同步到客户端后,由模板代码确定结果的显示方式。例如:
Template.myTemplate.elements = function() { return Posts.find({}, {sort: {createdAt:-1}}); }
另请参阅我的帖子中有关常见错误的“排序发布”部分。