水线查询最近7天内创建的记录?

时间:2018-08-31 15:06:29

标签: javascript sails.js waterline sails-mongo

使用Waterline连接到MongoDB的帆v12.14

是否可以对从当前日期起过去7天内创建的所有记录进行查找查询?我曾尝试寻找答案,但我猜我没有找到正确的关键字来提出所需的答案。

例如,这是我的功能:

getOpen: function getOpen(req, res) {
 Ticket.find({
  status: "open",
  open_date: [insert magic here]
 }).then(function response(findModelResults) {
    res.json(200, findModelResults);
   })
   .catch(function error(findModelError) {
    sails.log.error('TicketController.getOpen', findModelError);
    res.json(500, findModelError);
   });
}

这对于拉出所有票证效果很好,但是我不确定如何仅在最近7天进行过滤。

2 个答案:

答案 0 :(得分:1)

我使用momentJS进行日期格式化。以下代码段应该有效。

getOpen: function getOpen(req, res) {
  const date = new Date();
  Ticket.find({
      status: "open",
      open_date: {
        '>=': moment(new Date(date.getFullYear(), date.getMonth(), date.getDate() - 7))
          .utc()
          .toISOString();
      }
    })
    .then(function response(findModelResults) {
      res.json(200, findModelResults);
    })
    .catch(function error(findModelError) {
      sails.log.error('TicketController.getOpen', findModelError);
      res.json(500, findModelError);
    });
}

答案 1 :(得分:0)

这将检索open_date大于24h * 7天(168小时)的票证

#include <iostream>
#include <fstream>

using namespace std;

typedef struct
{
    float x;
    float y;
} position;

class Colider
{
    public:
        unsigned int type;
};

class Colider_Triangle: public Colider
{
public:
    position edge1;
    position edge2;
    position edge3;
};

Colider_Triangle::Colider_Triangle()
{
    edge1.x = 1;
}

class Colider_Sphear: public Colider
{
    public:
    position pos;
    unsigned int r;
};

int main(){

    Colider* a;
    a = new Colider_Triangle;
    a->b.edge = 10;
    delete(a);
    return 0;
}