在Mongo筛选器逻辑中的日期上使用$ eq运算符

时间:2018-07-25 13:34:56

标签: node.js mongodb aggregation-framework

我的Node / Mongo端点之一具有多种过滤器,它们可以按日期过滤。例如,这是一种运行良好的产品:

  // first purchase date after filter
  if (firstPurchaseDateAfter && firstPurchaseDateBefore === "") {
    let firstPurchaseDateAfterDate = new Date(firstPurchaseDateAfter);
    search["firstTransaction.timestamp"] = {
      $gt: firstPurchaseDateAfterDate
    };
  }

基本上,我输入一个字符串值,将其转换为日期,然后使用$gt运算符进行比较。

目标值如下:

"timestamp": "2016-07-26T08:00:54.232Z"

因此,正如我所说的,上述逻辑非常有效。

我想知道的是,为什么使用$eq运算符针对特定日期的类似构建的过滤器不起作用。这是代码:

  // first purchase date equals filter
  if (firstPurchaseDateEquals) {
    let firstPurchaseDateEqualsDate = new Date(firstPurchaseDateEquals);
    search["firstTransaction.timestamp"] = {
      $eq: firstPurchaseDateEqualsDate
    };
  }

不能以这种方式在日期值上使用$eq运算符吗?这是什么问题?

0 个答案:

没有答案