javascript – 流星不能用跳过或限制观察查询

前端之家收集整理的这篇文章主要介绍了javascript – 流星不能用跳过或限制观察查询前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我可能会在文档中丢失相当明显的东西或遗漏的东西.我搜索并没有找到类似的问题.发布它

这两个

return Items.find({},{sort: {time: -1},limit: 10});

要么

return Items.find({},{sort: {time: -1}).limit(10);

导致流星不能用跳过或限制观察查询

解决方法

更新:这是一个更长的问题.从Meteor 0.5.3开始,您可以使用跳过和限制选项观察查询.

不幸的是,这是真的:mimimongo软件包当前不支持使用skip或limit选项的游标调用观察.这没有什么好的理由它只是没有实现.

如果您在模板助手中调用查询,则有一个简单的解决方法

Template.name.items = function () {
  // fetch array of all the items
  var items = Items.find({},{sort: {time: -1}}).fetch();

  // return only the first 10 items to the template
  return items.slice(0,10);
};

解决方法的缺点是效率.如果您的帮助器返回一个游标(只返回Items.find的值而不调用fetch,那么当只有一个项目更改时,或者如果插入了一个新项目,模板系统就足够聪明,不能重新计算整个模板.

另一方面,在帮助器中调用fetch会对整个查询结果注册一个依赖关系,所以随着查询中的任何对象的更改,整个模板都会被重新计算.

没有别的区别模板将在屏幕上放置相同的东西,当它必须重新绘制时,它将保留表单元素的内容.

原文链接:https://www.f2er.com/js/149927.html

猜你在找的JavaScript相关文章