【问题标题】:Mongo query by and sort by date?Mongo按日期查询和排序?
【发布时间】:2016-11-12 13:07:44
【问题描述】:

我有以下疑问:

let inputDate = new Date(new Date().toISOString()) //OR new Date() which doesn't work either
let found = Collection.find({
        $query: {
            storedAt: {
                $lte: inputDate
            }
        },
        $orderBy: { //doesn't work for some reason
            storedAt: -1
        }
}).fetch()

我试图让返回的查询按日期排序,最近的日期在顶部(最接近调用函数的时间)但是,无论我按什么排序,-1 或 1,顺序仍然是错误的,因为它从最早的日期开始。我的日期以 ISODate 格式正确存储在数据库中,我已经检查过了。我也试过只用inputDate = new Date() 运行这个查询,但这也不起作用。

【问题讨论】:

    标签: mongodb reactjs meteor


    【解决方案1】:

    您似乎认为 Meteor 集合查询与 MongoDB 查询相同,但事实并非如此。它们的语法完全不同。请参阅find 的文档: https://docs.meteor.com/api/collections.html#Mongo-Collection-find

    就您而言,您可能正在寻找的是:

    let found = Collection.find({storedAt: {$lte: inputDate}},
                                {sort: {storedAt: -1}}).fetch()
    

    【讨论】:

      猜你喜欢
      • 2015-05-08
      • 1970-01-01
      • 2021-08-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-08
      • 2022-11-11
      相关资源
      最近更新 更多