Javascript meteor无法观察带跳过或限制的查询
我可能遗漏了一些非常明显的东西,或者文档中遗漏了一些东西。我搜索了一下,没有发现类似的问题。张贴它 这两个Javascript meteor无法观察带跳过或限制的查询,javascript,mongodb,meteor,Javascript,Mongodb,Meteor,我可能遗漏了一些非常明显的东西,或者文档中遗漏了一些东西。我搜索了一下,没有发现类似的问题。张贴它 这两个 return Items.find({},{sort: {time: -1}, limit: 10}); 或 结果导致meteor无法观察到带有跳过或限制的查询更新:这不再是一个问题。从Meteor 0.5.3开始,您可以使用skip和limit选项观察查询。 不幸的是,这是事实:mimimongo包目前不支持对使用跳过或限制选项的游标调用观察。这没有什么好的理由;它只是没有实现 如果在
return Items.find({},{sort: {time: -1}, limit: 10});
或
结果导致meteor无法观察到带有跳过或限制的查询更新:这不再是一个问题。从Meteor 0.5.3开始,您可以使用
skip
和limit
选项观察查询。
不幸的是,这是事实:mimimongo包目前不支持对使用跳过或限制选项的游标调用观察。这没有什么好的理由;它只是没有实现
如果在模板帮助器中调用此查询,有一个简单的解决方法:
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);
};
这种变通方法的缺点是效率。如果助手返回光标(仅返回项的值。查找而不调用获取
),则模板系统足够智能,不会在仅更改一个项或插入新项时重新计算整个模板
另一方面,在helper中调用fetch
,会注册对整个查询结果的依赖关系,因此在查询中的任何对象发生更改时,都会重新计算整个模板
<> P>没有其他区别。模板将在屏幕上放置相同的东西,当它必须重新绘制自己时,它将保存表单元素的内容。谢谢,这是有效的。路线图考虑另一个MunGDB包来避免MangoDB文档之间的混淆。我们希望Mimulango实现完整的Mong。oDB API.Patches welcome.有一个缺少项的列表。关于的文档显示了限制,可能需要更新?Template.players.top_10_scorers=function(){return Users.find({},{sort:{score:-1},limit:10});}
我希望我能帮上忙,但我是一个新手,只是在学习这方面的知识。何时可以实施跳过和限制?这些对于实现有效的分页似乎至关重要。否则,所有跳过/限制操作都必须在服务器上执行,并且本地缓存必须实时更新,以反映应该显示的内容在客户端上播放(不再播放),而不是预取和缓存结果。这在devel分支上已修复,并将在Meteor的下一版本中发布。问题已注册。请查看此
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);
};