如何按不同时区的年月日进行聚合

2024-03-02

我有一个 MongoDB,它以 UTC 格式存储日期对象。好吧,我想按不同时区(CET)的年、月、日执行聚合。

这样做对于 UTC 来说效果很好:

    BasicDBObject group_id = new BasicDBObject("_id", new BasicDBObject("year", new BasicDBObject("$year", "$tDate")).
                append("month", new BasicDBObject("$month", "$tDate")).
                append("day", new BasicDBObject("$dayOfMonth", "$tDate")).
                append("customer", "$customer"));

    BasicDBObject groupFields = group_id.
            append("eventCnt", new BasicDBObject("$sum", "$eventCnt")); 

    BasicDBObject group = new BasicDBObject("$group", groupFields);

或者,如果使用命令行(未测试,我只测试了java版本):

{
    $group: {
        _id: {
            "year": {
                "$year", "$tDate"
            },
            "month": {
                "$month", "$tDate"
            },
            "day": {
                "$dayOfMonth", "$tDate"
            },
            "customer": "$customer"
        },
        "eventCount": {
            "$sum": "$eventCount"
        }
    }
}

如何在聚合框架内将这些日期转换为 CET?

例如,“2013-09-16 23:45:00 UTC”是“2013-09-17 00:45:00 CET”,这是不同的一天。


我不是 CET 及其与 UTC 关系方面的专家,但以下代码(针对 shell)应该对 MongoDB 日期类型进行适当的转换(添加一个小时):

db.dates.aggregate(
  {$project: {"tDate":{$add: ["$tDate", 60*60*1000]}, "eventCount":1, "customer":1}}
)

如果您在管道的其余部分之前运行该项目命令,则结果应采用 CET 格式。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何按不同时区的年月日进行聚合 的相关文章

  • 如何使用 mongo-go-driver 有效地将 bson 转换为 json?

    我想将 bson 转换为mongo go 驱动程序 https github com mongodb mongo go driver有效地转换为 json 我应该小心处理NaN 因为json Marshal失败如果NaN存在于数据中 例如
  • Perl Mongo 查找对象 ID

    你会认为这是一件简单的事情 我有一个集合中的对象 ID 列表 我想根据对象 ID 获取单个记录 谷歌搜索过 但没有任何帮助 所以我有对象 ID 5106c7703abc120a04070b34 my client MongoDB Mongo
  • 使用 MongoDB docker 镜像停止虚拟机而不丢失数据

    我已经在 AWS EC2 上的虚拟机中安装了官方的 MongoDB docker 映像 并且数据库上已经有数据 如果我停止虚拟机 以节省过夜费用 我会丢失数据库中包含的所有数据吗 在这些情况下我怎样才能让它持久 有多种选择可以实现此目的 但
  • 如何使用 MongoDB 实现 ASP.NET Core 3.1 Identity?

    是一个 API 用于简化后端和逻辑代码来管理用户 密码 个人资料数据 角色 声明 令牌 电子邮件确认等 对于 Visual Studio 来说 支撑脚手架 https learn microsoft com en us aspnet cor
  • 我可以按日期查询 MongoDB ObjectId 吗?

    我知道 ObjectId 包含它们的创建日期 有没有办法查询ObjectId的这方面 将时间戳弹出到 ObjectId 中 http www kchodorow com blog 2011 12 20 querying for timest
  • 使用 dockerfile 在 docker 中安装 mongodb 驱动

    我有一个 mongodb docker 容器 我需要另一个安装了 php 和 apache 的 docker 容器 我想从这个容器运行一个 php 脚本并将一些数据发送到 mongodb 容器以将数据保存在 mongodb 数据库中 所以我
  • 在 MongoDB 中,如何根据嵌入对象中的属性对文档进行排序?

    在我的产品集合中 我可以找到已在 GB 地区发布的所有产品 gt db products find release region GB pretty id foo release region GB date ISODate 2012 03
  • Mongoid 命名范围比较同一文档中的两个时间字段

    我需要在 Mongoid 中创建一个命名范围来比较同一文档中的两个时间字段 例如 scope foo where gt updated at gt gt checked at 这显然不会像它对待的那样起作用 checked at作为一个符号
  • 嵌入文档中的mongodb限制

    我需要创建一个消息系统 一个人可以在其中与许多用户进行对话 例如 我开始与 user2 user3 和 user4 交谈 因此他们中的任何人都可以看到整个对话 并且如果对话在任何时候都不是私密的 则任何参与者都可以将任何其他人添加到对话中
  • 更新插入 MongoDB 时如何防止出现“_t”字段?

    我有一个应用程序 它使用 MongoDB 的 C 驱动程序将 Upsert 插入 MongoDB 数据库 当我打电话给Update函数 我无法指定我要更新的类型 然后 t字段插入元素的类型 这是我用来更新插入的代码 collection U
  • Mongodb聚合数组大小大于匹配项[重复]

    这个问题在这里已经有答案了 我有一个集合 其中投资是 mongodb 文档内的一个数组 现在使用聚合 我尝试过滤投资长度超过 5 倍的结果 然后使用匹配查询进行下一步处理 Collection id 000000 investments h
  • node-mongodb-native的插入性能

    我正在使用 MongoDB 测试 Node js 的性能 我知道其中每一个都很好 彼此独立 但我正在尝试一些测试来感受它们 我遇到了这个问题 但无法确定来源 问题 我正在尝试在单个 Node js 程序中插入 1 000 000 条记录 它
  • NodeJS:将 JSON 保存到 MongoDB

    我正在尝试从 API 获取 JSON 并将其存储到 MongoDB 数据库中 显然 这是行不通的 我的应用程序似乎停留在我尝试将数据保存到数据库的位置 请告知该怎么做 这是我的代码 var express require express v
  • Mongo C# 驱动程序更新嵌套数组中的特定元素

    如何在 Mongo C 驱动程序 中修改嵌套属性 数组 中的单个元素而不检索整个文档 public class Element public int Value get set public string Name get set publ
  • 如何使用 PyMongo 在重复键错误后继续插入

    如果我需要在 MongoDB 中插入尚不存在的文档 db stock update one document set document upsert True 将完成这项工作 如果我错了 请随时纠正我 但是 如果我有一个文档列表并想将它们全
  • PHP 致命错误:未找到“MongoClient”类

    我有一个使用 Apache 的网站 代码如下 当我尝试访问它时 我在 error log 中收到错误 PHP Fatal Error Class MongoClient not found 以下是可能错误的设置 但我认为没有错误 php i
  • 修复数据库需要多少额外空间

    我已经问过了这个问题在 mongodb google group https groups google com d topic mongodb user oi6S LKfTrs discussion 在没有任何回复的情况下将其发布在这里
  • Angular js 服务器端过滤器和分页

    我有几个输入字段 我们可以使用带有搜索名称的输入字段作为示例 当有人在该字段中输入内容时 我希望能够过滤对象的结果 但我想做过滤器服务器端而不是客户端 我有一个包含大量记录的数据库 因此我不想返回所有记录并在客户端进行过滤 这确实会减慢速度
  • 如何在 mongodb 聚合管道中使用 Javascript 对象?

    我有一个 JS 对象norm我想在 mongo 聚合管道中使用它 如下所示 var norm 1 1 2 1 16 3 1 413 4 1 622 5 1 6 6 1 753 7 3 001 8 2 818 9 3 291 10 2 824
  • 在 Nodejs 中,如何停止 FOR 循环直到 MongoDB 调用返回

    我正在研究下面的代码片段 我有一个名为 stuObjList 的 JSON 对象数组 我想循环遍历数组以查找具有特定标志集的特定 JSON 对象 然后进行数据库调用以检索更多数据 当然 FOR 循环不会等待数据库调用返回并到达 j leng

随机推荐

  • 可以在Java中强制执行包依赖层次结构吗?

    基本上我有包 com me application com me application thing com me library 我想执行以下规则 com me application可以包括com me library 除了com me
  • jsdoc二维数组

    我有一个字符串数组的数组 但我不知道如何使用 JSDoc 来记录它 class function PostbackList type int default this TypeID 0 type PostbackList Field thi
  • Tomcat 7 SSL 失败

    我使用 Tomcat 7 并将启用 SSL 连接器 实际上我已经将此解决方案编辑为server xml file
  • QtRuby 可以与 Qt 5 一起使用吗?

    我可以在网上找到的所有内容QtRuby https duckduckgo com q ruby and qt使用 Qt 4 但当前的 Qt 版本是 5 这是否只是文档跟不上现实的问题 Qt 5 可以与 QtRuby 一起正常工作 如果您断言
  • Windows Phone 运行时没有页面转换

    我正在尝试禁用 Windows Phone 运行时的默认页面导航动画 我所能实现的就是将其更改为连续体 十字转门或幻灯片 但我希望页面能够立即更改 因此 当我调用 this Frame navigate 时 它应该导航到新页面 而无需任何动
  • 从 Windows 上下文菜单接收参数

    我以前做过这个 但我一生都不记得该怎么做 在我的资源管理器上下文菜单中 我添加了一个新条目 转到 regedit 转到 HKEY CLASSES ROOT bla bla bla 现在 当我单击我的选项时 我想传递文件路径 文件名等我的应用
  • 如何从服务 C# 捕获控制台输出?

    我们有一个部署到远程客户系统的 C 服务 应用程序将大量 诊断 信息写入控制台 即 Console WriteLine 该服务没有 做它应该做的事 我们如何捕获另一个应用程序中服务的控制台输出 WinForm 版本的应用程序可以在客户位置加
  • Gradle Jacoco 和 JUnit5

    我们刚刚将单元测试移植到 JUnit5 意识到这仍然是相当早期的采用 谷歌上几乎没有任何提示 最具挑战性的是为我们在 jenkins 上使用的 Junit5 测试获取 jacoco 代码覆盖率 因为这花了我几乎一天的时间才弄清楚 所以我想我
  • 注册为 Spring bean 时过滤器调用两次

    我想用 Autowire with a Filter 所以我在中定义我的过滤器SecurityConfig如下 Override protected void configure HttpSecurity http throws Excep
  • 如何在页面之间共享信息

    在开始之前 正如标题中所述 我正在学习 NET MAUI 而且我对此还很陌生 我的问题是我找不到从一个页面到上一个页面共享信息的方法 我想做的是 在 MainPage 中 有一个按钮 按下后会将用户发送到另一个页面 我们将其称为 Login
  • :为什么我无法设置Xamarin.Forms.ListView的SelectedItem属性?

    object lastItem null foreach object item in listView ItemsSource lastItem item if lastItem null listView SelectedItem la
  • 获取文件的最后修改日期/时间作为本地日期/时间字符串

    new File url lastModified 返回一个long等于自纪元以来的毫秒数 基于 GMT 将其转换为一个简单的方法是什么String代表系统本地日期 时间 如果你真的需要看到我的尝试 那就是 但这是一团糟 而且无论如何都是错
  • 如何从 Rails 内部重新启动 Rails?

    好的 所以我想在 Rails 中创建一个操作来重新启动自身 我做了一些搜索并发现 http snippets dzone com posts show 5002 http snippets dzone com posts show 5002
  • 无法从 Metro 风格应用程序获取可用磁盘空间

    我正在编写一个 Metro 风格的应用程序 想要确定托管用户音乐库的驱动器的可用存储容量 我想在磁盘上没有剩余空间或剩余空间很少的情况下禁用某些应用程序功能 我使用 P Invoke 调用 GetDiskFreeSpaceExW 并收到错误
  • 如何计算(A*B)%C? [复制]

    这个问题在这里已经有答案了 有人可以帮我如何计算吗 A B C where 1 lt A B C lt 10 18在C 中 没有big num 只是一种数学方法 从我的脑海中浮现出来 未经广泛测试 typedef unsigned long
  • 应如何聚合公开子实体的信息?

    从这个问题跟进实体是否应该有方法 如果有 如何防止它们在聚合之外被调用 https stackoverflow com questions 51907447 should entity have methods and if so how
  • 从 GNU Octave 中的矩阵中删除一列

    在 GNU Octave 中 我希望能够从矩阵中删除特定的列 为了一般性 我还希望能够从矩阵中删除特定行 假设我有这个 mymatrix eye 5 mymatrix Diagonal Matrix 1 0 0 0 0 0 1 0 0 0
  • 合并 Pig 中的两行

    我想为下面的查询编写一个猪脚本 输入是 ABC DEF GHI JKL MNO PQR STU VWX 输出应该是 ABC DEF GHI JKL MNO PQR STU VWX 有人可以帮我吗 使用土猪很难解决这个问题 一种选择是下载da
  • (量角器)检查单击时是否禁用输入?

    我有两个输入字段 用户名和密码以及一个微调按钮 当我单击此微调按钮时 这两个输入字段将被禁用 并且我将被重定向到另一个页面 我正在编写一个端到端测试来检查这些输入字段是否被禁用 element by model username sendK
  • 如何按不同时区的年月日进行聚合

    我有一个 MongoDB 它以 UTC 格式存储日期对象 好吧 我想按不同时区 CET 的年 月 日执行聚合 这样做对于 UTC 来说效果很好 BasicDBObject group id new BasicDBObject id new