首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >mongoose $aggregation $match $or between

mongoose $aggregation $match $or between
EN

Stack Overflow用户
提问于 2016-07-14 02:55:32
回答 0查看 2.9K关注 0票数 2

我想要像这样在一个侵略性中过滤。这是一个mongoose查询的例子。这也是我想在攻击中做的事情。我想做的是获得2016-06-01T22:52:46Z和2016-06-02T22:52:46Z之间的所有测量值以及其他值

代码语言:javascript
复制
Measurement
  .find({})
  .or([{
    'date': {
      '$gte': ISODate('2016-06-01T22:52:46Z'),
      '$lte': ISODate('2016-06-02T22:52:46Z')
    }
  }, {
    'date': {
      '$gte': ISODate('2016-06-10T22:52:46Z'),
      '$lte': ISODate('2016-06-11T22:52:46Z')
    }
  }, {
    'date': {
      '$gte': ISODate('2016-06-14T22:52:46Z'),
      '$lte': ISODate('2016-06-15T22:52:46Z')
    }
  }, {
    'date': {
      '$gte': ISODate('2016-06-26T22:52:46Z'),
      '$lte': ISODate('2016-06-27T22:52:46Z')
    }
  }])
  .exec();

这就是我所尝试的,但它不能完成同样的工作。而IDE显示重复键'date‘

代码语言:javascript
复制
db.measurements.aggregate([{
  $match: {
    $or: [{
      date: {
        '$gte': ISODate('2016-06-01T22:52:46Z'),
        '$lte': ISODate('2016-06-02T22:52:46Z')
      },
      date: {
        '$gte': ISODate('2016-06-10T22:52:46Z'),
        '$lte': ISODate('2016-06-11T22:52:46Z')
      },
      date: {
        '$gte': ISODate('2016-06-14T22:52:46Z'),
        '$lte': ISODate('2016-06-15T22:52:46Z')
      },
      date: {
        '$gte': ISODate('2016-06-26T22:52:46Z'),
        '$lte': ISODate('2016-06-27T22:52:46Z')
      }
    }]
  }
}]);
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38359622

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档