Javascript MongoDB Meteor Sort仅在控制台中工作

Javascript MongoDB Meteor Sort仅在控制台中工作,javascript,mongodb,sorting,meteor,Javascript,Mongodb,Sorting,Meteor,我有一个meteor应用程序,用户可以将日志保存到数据库中。 现在我想显示它们,并为用户提供排序选项。所有过滤器(如要搜索的关键字)都在工作,但排序算法不起作用。 确切的问题是,我只想按日期排序(此时),但当我将排序从-1更改为1时,没有任何更改。 我有一个模板助手,可以简单地返回日志 它呼吁: Logs.find({}, {sort:{date: -1}}).fetch; 在这个调用之后,我首先记录结果,然后 然后我运行一些其他任务来准备数据,但这与输出无关。 我将确切的调用和结果记录到控制

我有一个meteor应用程序,用户可以将日志保存到数据库中。 现在我想显示它们,并为用户提供排序选项。所有过滤器(如要搜索的关键字)都在工作,但排序算法不起作用。 确切的问题是,我只想按日期排序(此时),但当我将排序从-1更改为1时,没有任何更改。 我有一个模板助手,可以简单地返回日志

它呼吁:

Logs.find({}, {sort:{date: -1}}).fetch;
在这个调用之后,我首先记录结果,然后 然后我运行一些其他任务来准备数据,但这与输出无关。 我将确切的调用和结果记录到控制台,但是-1和1得到了相同的结果,但是如果我复制命令并在控制台中手动输入,结果将返回正确排序的日志。 下面是我的意思:

我在mongodb中使用meteor mongo手动测试了排序,结果一切正常。日期格式正确,为ISO日期。 我不明白为什么结果总是一样的。在图像上,前两个命令都是由meteor生成的结果,最后一个命令是手动生成的。您应该看到区别。

Fetch needs()之后是这样的:


Logs.find({},{sort:{date:-1}}).fetch()

在排序中添加美元符号可能会解决此问题:
$sort
而不仅仅是
sort
fetch()。在《流星》中,排序没有美元符号。美元符号没有改变任何东西。我不理解你的评论Eliezer(除了带美元符号的句子)。如果你看我的图片,你会发现我在fetch之后使用了()。实际上,我已经通过使用数组而不是对象作为排序选项解决了这个问题,但目前不允许我回答自己的问题