【问题标题】:get records created within 24 hour in sails js在sails js中获取24小时内创建的记录
【发布时间】:2016-06-24 13:20:30
【问题描述】:

我想获取在sails js 中24 小时内创建的Posts。我正在使用mongodb 数据库。我如何获得过去 24 小时内创建的所有帖子。

【问题讨论】:

    标签: mongodb sails.js sails-mongo


    【解决方案1】:

    您可以通过以下方式创建包含 24 小时的日期范围。

    使用 momentjs 库,您可以使用扩展方法 subtract() 创建日期并使用 toDate() 方法将其转换为 JS 日期: p>

    var start = moment().subtract(24, 'hours').toDate();
    

    或使用普通的 Date 对象,将日期范围创建为:

    var now = new Date(),
        start = new Date(now.getTime() - (24 * 60 * 60 * 1000));
    

    使用 where() 方法使用查询 Posts 模型使用上述日期范围查询,假设保存时间戳的字段称为 date

    Posts.find()
        .where({ "date" : { ">": start } })
        .exec(function (err, posts) {
            if (err) throw err;
            return res.json(posts);
        });
    

    【讨论】:

    • "<" : end 不是必需的,因为将来不会创建任何记录。如果您想要 -48 到 -24 小时的记录,这将是有意义的。但不是从 -24 到 0。
    • @Bonanza 你说得对,我真傻,我以为会有帖子设置为在给定的未来日期自动发布:P 但话又说回来,OP 从来没有提到过。
    • 我还没有考虑过自动发布。 :)
    猜你喜欢
    • 1970-01-01
    • 2015-04-22
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 2020-09-27
    • 1970-01-01
    • 1970-01-01
    • 2012-10-30
    相关资源
    最近更新 更多