【问题标题】:Date Range Mongo Query using Meteor Js使用 Meteor Js 的日期范围 Mongo 查询
【发布时间】:2014-04-15 01:14:51
【问题描述】:

我的集合中有一个名为 dateacquired 的属性,日期格式如下:2014-03-28 06:08:00

我需要从当前日期拉回我的集合中小于或等于一个月前的所有文档。我只是不确定如何编写此查询。

有人知道如何开始这样的事情吗?

【问题讨论】:

    标签: mongodb meteor


    【解决方案1】:

    我假设这些日期存储为字符串?您可以使用 mongoDB 比较运算符 $gt$lt 比较字符串,它们会按您的预期工作。我还将使用Sugar 让我的生活更轻松(强烈推荐;通过mrt add sugarjs 添加),这为我提供了Date.createDate.format 方法,将其简化为单行:

      var cursorOfDocumentsSinceOneMonthAgo = yourCollection.find({
        dateacquired:
          { $gt: Date.create("1 month ago").format("{yyyy}-{MM}-{dd} {hh}:{mm}:{ss}")
          }
        });
    

    【讨论】:

    • 谢谢!!像魅力一样工作!
    【解决方案2】:

    我最近nDays有多少人注册的流星法:

    userCountPreviousDays: function (nDays) {
        check(nDays, Number);
    
        var arr = [];
    
        var now = new Date().getTime();
        var msInDay = 1000 * 60 * 60 * 24;
    
        for (var i = 0; i < nDays; i++) {
          arr[i] = Meteor.users.find({
            createdAt: {
              $lt: new Date(now - (msInDay * i)),
              $gt: new Date(now - (msInDay * (i+1)))
            }
          }).count();
        };
    
        return arr;
    }
    

    arr[i] 是几天前i 注册的人数。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-11-05
      • 1970-01-01
      • 2014-05-17
      • 2021-07-05
      • 2017-07-22
      • 1970-01-01
      相关资源
      最近更新 更多