从这个https://github.com/meteor/meteor/wiki/Oplog-Observe-Driver。
从Meteor0.7.2开始,大多数查询都使用OplogObserveDriver。有几种类型的查询仍然使用PollingObserveDriver: ..。
..。
这意味着,当您使用基于skip的分页时,可能总是需要分页机制--如果您有很多用户可以导航的记录,那么它将使用那个老的非常无效的轮询和差分算法。
它仍然对我来说,Meteor是好的,只是对一些有限的应用程序,只有很少的ppl需要一起工作和一些实时变化传播。
如果我有堆栈溢出的情况,它将非常慢,因为每个客户端可能在不同的页面上,这意味着每次添加/删除新消息时重新运行1000个查询,因为meteor无法从mongo读取skip操作符的查询。
我是对的?
发布于 2014-09-15 00:39:07
有很多方法来分页,而不是基于跳过。因为您有某种排序顺序(否则就不会以任何有意义的方式分页),所以您可以这样说:“根据这个排序顺序给我下50个大于这个值的项”。
例如,如果您有如下分页查询:
Posts.find({ author: "Nick" }, { sort: { timestamp: -1 }, limit: 50, skip: 200 })您可以像这样重写w/o skip:
Posts.find({ author: "Nick", timestamp: { $gt: X } }, { sort: { timestamp: -1 }, limit: 50 })其中X是最后一次看到的帖子的时间戳。
https://stackoverflow.com/questions/25834336
复制相似问题