mongodb - 如何在 mongodb 中查找过去 7 周所有星期一的文档

标签 mongodb dayofweek

   {
    "_id" : ObjectId("568b650543712795bf864a45")
    "companyId" : "55e2d7cfdc8f74d14f5c900f",
    "timeStamp" : ISODate("2014-12-02T18:30:00.000Z")
   },
   {
    "_id" : ObjectId("568b650543712795bf864a46")
    "companyId" : "55e2d7cfdc8f74d14f5c900f",
    "timeStamp" : ISODate("2014-12-03T18:30:00.000Z")
 },
  {
    "_id" : ObjectId("568b650543712795bf864a47")
    "companyId" : "55e2d7cfdc8f74d14f5c900f",
    "timeStamp" : ISODate("2014-12-04T18:30:00.000Z")
 }

从过去 7 周的时间戳字段中检索星期一的所有文档。

最佳答案

你必须使用mongodb聚合框架来实现这一点。

查找您使用的任何编程语言的开始日期(当天 - 7 周)。 那么你必须使用聚合操作 $dayOfWeek 来实现这一点


var pipeline = [
    {
      $match: {timeStamp: {$gte: startDate}}
    },
    {
      $project: {dayOfWeek: {$dayOfWeek: '$timeStamp'}} 
    },
    {
      $match: {dayOfWeek: 1}
    }
  ];
db.mycollection.aggreage(pipeline)
 

上面我只投影了一个字段,您可以投影更多字段。

了解更多信息请点击$dayOfWeek

关于mongodb - 如何在 mongodb 中查找过去 7 周所有星期一的文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34626457/

相关文章:

java - 如何在mongo中插入带有日期的文档?

mysql - Mysql 中的星期几

java - 在 Java 中获取当前一周的开始和结束日期 - (周一至周日)

mysql - 如何按DAYOFWEEK分组并在MySQL中使用分组数据?

javascript - 检查 ISO 日期的日期

java - 如何在Java中获取给定周数的第一天

mysql - 如何从 sql 转储导入到 MongoDB?

mongodb - Non-relational db,哪个才是正确的选择

mongodb - 如何使用 Mongodb 按选定属性(嵌套)计算对象数量

php - 使用 PHP 删除嵌入的 MongoDB 文档