gpt4 book ai didi

node.js - meteor 订阅不更新集合的排序顺序

转载 作者:IT老高 更新时间:2023-10-28 13:06:09 24 4
gpt4 key购买 nike

// 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 数据库。所以在发布函数中对数据进行排序实际上对客户端没有影响,因为客户端数据库可能会以其他方式存储它们。

当然,您可能希望在发布者的 find 中使用排序,以便将记录数限制为最近的 N 条 - 但同样,这只是决定哪些记录被同步和而不是客户如何存储/使用它们。

记录同步到客户端后,由模板代码决定结果的显示方式。例如:

Template.myTemplate.elements = function() {
return Posts.find({}, {sort: {createdAt:-1}});
}

另请参阅我在 common mistakes 上的帖子的“排序发布”部分.

关于node.js - meteor 订阅不更新集合的排序顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15153349/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com