我想通过元素的timeStamp过滤DB表。
表得到了行: ID,URL,时间表。
如何按某个范围内的时间戳过滤数据? 像往常一样在SQL中... BETWEEN firstTime和lastTime
我尝试了类似的事情:
if (first_date && last_date) {
Pages.forge()
.where("Date", '>=' , first_date)
.where("Date", '<=' , last_date)
.fetchAll()
.then(function (pages) {
res.send(persons.toJSON());
}).catch(function (error) {
console.log(error);
res.send('An error occured');
});
答案 0 :(得分:2)
model.query({where: {"Date", '>=' , first_date}, orWhere: {"Date", '<=' , last_date}})
.fetch()
.then(function(model) {
// ...
});
你必须使用where和or where例如:between表示两个条件中的任何一个,但在这里你设置为条件为真。
答案 1 :(得分:1)
如果将.query()
添加到调用链,则可以在内部使用knex语法。
以您的示例为例:
Pages.forge()
.query(function(knex) {
knex.whereBetween('Date', [first_date, last_date]);
})
.fetchAll()
.then(function (pages) {
// do something with pages
}).catch(function (error) {
// do something with error
});