如何使用Parse JS SDK查询过去7天的对象?

时间:2018-09-15 10:20:41

标签: javascript parse-platform parse-server

我正在尝试填写数据图表,该图表在过去7天的每一天都需要执行许多订单。

如何查询和分组过去7天?

对不起,如果理解起来有点复杂。

2 个答案:

答案 0 :(得分:1)

您可以使用relativeTime运算符来简化操作:

const query = new Parse.Query('Order');
query.greaterThan('createdAt', { $relativeTime: '7 days ago' });
const results = await query.find();

该运算符的文档记录不清,但前一段时间才引入,并且已经过全面测试。

您可以使用“ n天前”或“在n天前”

您还可以在此处查看测试套件:

https://github.com/parse-community/parse-server/blob/master/spec/ParseQuery.spec.js#L4155

答案 1 :(得分:0)

获取7天前的日期:

let d = new Date();
d.setDate(d.getDate()-7);

使用该日期形成一个greaterThan查询:

let query = new Parse.Query("Order");
query.greaterThan('createdAt', d);
query.find.then(function(results) {
    // results will be instances of Order created starting 7 days ago
    // underscore _.groupBy() is useful for grouping
});

注意:

  • 将对象的名称从“订单”更改为您的订单对象的名称。
  • createdAt更改为Order对象上的任何有效date属性,如果要创建日期,请保持原样
  • 此答案提供在调用前7天开始创建的对象。有时,商务应用程序想要衡量日历天数。通过将d
  • 的小时,分​​钟和秒清零