Mongodb 元数据库日期计算

Mongodb 元数据库日期计算,mongodb,metabase,Mongodb,Metabase,我希望Metabase使用“大于当前日期减去30天”,但到目前为止,我还没有在mongo的自定义查询中实现这一点 我怎样才能让它与Metabase一起工作 { "$match": { "$or": [ { "transactions.transactionTime": { "$gte": ISODate("Current Date - 30 days") } },

我希望Metabase使用“大于当前日期减去30天”,但到目前为止,我还没有在mongo的自定义查询中实现这一点

我怎样才能让它与Metabase一起工作

{
    "$match": {
      "$or": [
        {
          "transactions.transactionTime": {
            "$gte": ISODate("Current Date - 30 days")
          }
        },
        {
          "transactions": null
        }
      ]
    }
  },

您可以将其传递给您的查询。
const d=新日期();
const howManyDaysBefore=30;
const thirtyDaysAgo=新日期(d.setDate(d.getDate()-howManyDaysBefore)).toISOString();
console.log(thirtyDaysAgo)
您可以使用它来解决此问题:

{
  "$match": {
    "$expr": {
      "$gte": [
        "$yourDateField",
        { "$subtract": [ISODate(), { "$multiply": [3600000, 24, 30] }] }
      ]
    }
  }
}
我还使用了带有3个参数的
$multiply
来显示计算的工作原理:

1) 3600000 millis = 1 hour
2) 24 hours = 1 day
3) 30 days
但您可以编写一个较短的版本:

{
  "$match": {
    "$expr": {
      "$gte": [
        "$yourDateField",
        { "$subtract": [ISODate(), 2592000000] }
      ]
    }
  }
}

您是否使用矩库执行此类操作?这是通过元数据库查询生成器执行的,不能使用任何编码。据我所知,元数据库查询生成器中不能使用任何变量。