【问题标题】:MongoDB Meteor Sort only working in ConsoleMongoDB Meteor Sort 仅在控制台中工作
【发布时间】:2015-09-24 06:30:50
【问题描述】:

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

它调用:

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

在此调用之后,我首先记录结果,然后 然后我运行一些其他任务来准备数据,但这与输出无关。 我将确切的调用和结果记录到控制台,但是 -1 和 1 得到了相同的结果,但是如果我复制命令并在控制台中手动输入,结果将返回正确的排序日志。 这是我的意思的图像:http://i.imgur.com/tAFUVO4.png

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

【问题讨论】:

  • 在排序中添加美元符号可能会解决问题:$sort 而不仅仅是 sort
  • 获取()。流星中没有用于排序的美元符号。
  • 美元符号没有改变任何东西。我不明白您的评论 Eliezer(带美元符号的句子除外)。

标签: javascript mongodb sorting meteor


【解决方案1】:

Fetch needs () 后面这样:

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

【讨论】:

  • 如果您查看我的图片,您会发现我在获取后使用 ()。实际上,我已经通过使用数组而不是对象作为排序选项来解决问题,但目前我不允许回答我自己的问题
猜你喜欢
  • 2013-08-27
  • 2016-03-06
  • 1970-01-01
  • 2017-11-26
  • 2021-09-25
  • 2016-08-20
  • 2010-11-17
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多