所以我熟悉Collection.find({}, {limit: someNumber})
。这是我的问题:
我在Collection
中有很多记录有createdAt
字段用于排序。我在客户端上显示了它们的分页列表。
我在服务器和客户端上发布该集合并对游标进行排序/限制。但是,发生的情况是因为数据没有按顺序发送,服务器实际上并没有发送正确的项目。因此,如果我有600条记录,但只想看到最初的30条记录,我总是在屏幕上看到30个列表项,但它们会闪烁并改变,直到客户端收到所有600条记录,此时它可以正确排序。
基本上,Meteor似乎忽略了我希望我的光标已在服务器端排序的事实。
我做错了什么?如何让服务器只发送前30条记录(它们不需要按顺序发送,它们只需 前30条记录我的排序规则)
编辑:解决了问题,问题出在我的查询中,在其中一个字段中查找了一个空字符串,这让服务器感到困惑。
答案 0 :(得分:0)
您必须在服务器上排序:
Collection.find({}, {sort: {createdAt: -1}},limit: someNumber);