在MongoDB文档中,当我搜索sort时,它会将我引导至cursor.sort() page。 (顺便说一下,文档没有指定从这个方法返回的内容。)。所以我在我的流星脚本Collection.find().sort('date':1)
中使用它,但抱怨find()。sort不是一个函数。 (我以为find()
会返回一个光标,不是吗?)
所以我做了一些进一步的搜索,发现一些教程告诉我使用find({},{sort:...})。
那么这两种方法有什么区别?
答案 0 :(得分:2)
使用find({},sort ...要求Mongo进行排序,这是最有效的方法,因为如果字段被索引,数据库服务器可以优化排序。
Meteor不提供完整的Mongo api,因为浏览器中的迷你Mongo确实具有所有功能,并且他们希望在客户端和服务器中提供一致的api。
我没有检查过,但我认为如果你在find和sort之间添加一个fetch()它会起作用,因为fetch会返回一个可排序的数组
答案 1 :(得分:1)
在Meteor框架中,你需要做一些Meteor方式的事情!
只需使用Meteor Docs中指定的Collection.find
,然后传递Sort Specifier。
两者有什么区别?
一个被Meteor包裹,在框架内部工作,另一个没有!
我不相信你会发现框架中的'Meteor api'或来自(非流星)nodejs的'标准MongoDB api'之间存在任何性能差异。