如何在 Bookshelf.js 中查询日期

Posted

技术标签:

【中文标题】如何在 Bookshelf.js 中查询日期【英文标题】:How to query the date in Bookshelf.js 【发布时间】:2017-03-05 16:10:29 【问题描述】:

我正在使用 Bookshelf.js ORM,我需要能够按日期查询并遇到一些问题。

这是我正在使用的示例代码 sn-p。

      this.model.query((q) => 
            q.where('created_at', '>=', Date.now());
            q.orderBy('created_at', 'DESC');
        )   
        .fetch().then(function (model) 
            socket.send(JSON.stringify(model));
        );

上面的代码只是返回一个空或空数组。 有任何想法吗?

【问题讨论】:

【参考方案1】:

很遗憾您的查询返回空结果,未来查询是一个非常漂亮的功能。

但我认为您希望创建过去的数据,对吗?所以试试

this.model.query((q) => 
  q.where('created_at', '<=', new Date());
  q.orderBy('created_at', 'DESC');
)   
  .fetch().then(function (model) 
     socket.send(JSON.stringify(model));
  );

另请注意,Date.now() 给出了 milliseconds elapsed since the UNIX epoch 被替换为 new Date(),它给出了正确的当前日期/时间。

无论如何,标准也没有多大意义,因为它基本上意味着所有行。当然,除非您正在处理 created_at 列上的一些错误或过滤掉 NULL 属性。

【讨论】:

以上是关于如何在 Bookshelf.js 中查询日期的主要内容,如果未能解决你的问题,请参考以下文章

如何监听 Bookshelf.js 模型中的属性何时更新?

Bookshelf.js - 如何从连接表中获取列?

Bookshelf.js 查询相关表行

Bookshelf.js belongsToMany 查询列错误

通过 Bookshelf.js 流式传输数据

Bookshelf.js 多态关系查询返回空数组