在 MongoDB 中存储日期的最佳方式是什么?

2023-11-22

我刚刚开始学习MongoDB,希望慢慢从MySQL迁移。

在 MySQL 中,有两种不同的数据类型 -DATE ('0000-00-00') and DATETIME ('0000-00-00 00:00:00')。在我的 MySQL 中,我使用DATE类型,但我不知道如何将它们转移到 MongoDB 中。在 MongoDB 中,有一个Date对象,相当于DATETIME。看来使用它是最合适的Date对象,但这会浪费空间,因为没有利用小时、分钟、秒。另一方面,将日期存储为字符串似乎是错误的。

存储日期是否有黄金标准('0000-00-00')在 MongoDB 中?


我实际上正在转换 MongoDB 数据库,其中日期存储为正确的 Date() 类型,而不是将它们存储为表单中的字符串yyyy-mm-dd。为什么,考虑到其他所有回答者都说这是一个可怕的想法?简而言之,由于我在尝试使用 JavaScript 中的日期时一直遭受着无尽的痛苦,而 JavaScript 没有(真正的)时区概念。我一直在 MongoDB 中存储 UTC 日期,即一个 Date() 对象,其中包含我想要的日期和设置为午夜 UTC 的时间,但将用户提交的日期正确转换为他们所在时区的日期出乎意料地复杂且容易出错我一直在努力让我的 JavaScript“无论本地时区到 UTC”代码都能工作(是的,我知道 Sugar.js 和 Moment.js),我决定使用像这样的简单字符串古老的 MySQL 标准yyyy-mm-dd是可行的方法,我将在客户端运行时根据需要解析为 Date() 对象。

顺便说一句,我还尝试将此 MongoDB 数据库与 FileMaker 数据库同步,后者也没有时区的概念。对我来说,简单就是简单not存储时间数据,特别是当它像 UTC 午夜一样毫无意义时,有助于确保代码错误更少,即使我必须时不时地解析字符串日期。

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

在 MongoDB 中存储日期的最佳方式是什么? 的相关文章

随机推荐

  • WPF - FlowDocument - 将表拉伸到整个宽度?

    我有一个包含任意数量的列和行的数据表 我正在尝试打印它们 到目前为止 我所拥有的最好的运气是将数据放入表中 然后将该表添加到 FlowDocument 中 到目前为止 一切都很好 我现在遇到的问题是表格只 想要 占据文档宽度的大约一半 我已
  • C语言中变量名是如何存储的?

    我想问C中的变量是如何存储在C中的 为了更清楚 请考虑以下代码 int main int a 1 b b a 2 return 0 例如 这里的内存 C 存储变量位置的名称 eg if a 0x12A7 认为 b 0x123B1 那么如何以
  • 将文件转换为 Base64 函数输出

    Public Function ConvertFileToBase64 ByVal fileName As String As String Dim ReturnValue As String If My Computer FileSyst
  • 如何清除 pyqt QTableWidget?

    我想清除我的 QTableWidget 首先 我在 qcombobox 中选择一个用户 然后单击 qpushbutton 并从数据库记录中填充它 当我选择其他用户并单击 qpushbutton 添加数据时 我尝试使用以下方法清除 self
  • 裁剪 UIImage

    我有一些调整图像大小的代码 这样我就可以获得图像中心的缩放块 我用它来拍摄UIImage并返回图像的小方形表示 类似于照片应用程序的相册视图中看到的内容 我知道我可以使用UIImageView并调整裁剪模式以达到相同的结果 但这些图像有时会
  • 在主线程中运行代码

    这与许多问题相似 但不是rly 我需要类似的东西BeginInvoke适用于 Winforms 但不仅仅适用于 winforms 所以我需要单一方法 适用于任何类型的应用程序 所以我打电话 void ExecuteInMainContext
  • cpp 空数组声明

    你好 我有以下测试代码 我对 cpp 感到困惑 如果你在library h中声明一个带有空元素子句的数组 编译器会选择什么 它也没有抱怨 我使用 Cygwin 在library cpp中 我将值分配给两个元素 编译器是否假设一个包含一个元素
  • Nullable DateTimes 和 AddDays() 扩展

    我有一个日期时间变量 可以为 null 或日期时间 我认为可以为 null 的 DateTime 类型可以工作 但我收到一条错误消息 告诉我说 Nullable
  • 为整个应用程序应用圆角

    如何实现应用于整个视图的圆角 如屏幕截图所示 请注意 导航栏和键盘角都是圆角的 我尝试过设置cornerRadius 10 and masksToBounds YES对彼此而言window layer and window rootView
  • Django - 导入错误:没有名为 *.urls 的模块

    我正在努力通过官方 Django 教程并使用 Django 版本 1 6 1 Python 2 7 6 稍微调整以满足我自己的需要 我现在正在映射 URL 但当很明显有一个模块内有一个适当命名的文件时 我总是收到 没有名为customers
  • 使用带有回调函数的 array_filter 删除空数组元素

    我正在尝试使用函数 array filter 删除数组中的空元素 当我使用这样的外部回调时 function callback a return empty a arr array abc ghi res array filter arr
  • 将实时摄像头视图嵌入 UIView 中

    我一直在尝试找出如何在 iPhone 中嵌入一个小型实时摄像头视图UIView无济于事 我什至无法在网上找到任何样本 我知道这是可行的 但我什至不知道从哪里开始 似乎有很多例子表明其他人已将视图添加到相机的完整屏幕视图中 但反之则不然 看起
  • 在 WPF 中制作图表的最佳方法是什么? (或者一般来说这也适用于 WPF)

    所以我正在 WPF 中制作一个软件 我希望能够根据我存储的数据制作图表 只是带有 x 和 y 轴的线图 理想情况下 我希望它们具有优雅 简洁的风格 我知道 WPF 没有附带图表 并且我在 WinForms 项目中尝试过 ZedGraph 但
  • 如何向现有 CSS 类添加新规则

    在下面的代码中 我已经说明了我想要实现的目标 通过向现有 CSS 类添加新规则来更改它 h4 hello h4 这是针对在不同尺寸的屏幕上运行的站点的预处理
  • Fortran 中等级(形状)未知的子例程参数

    我想知道如何在 Fortran 中最好地处理采用未知等级参数的子例程 例如 Real 8 array1 2 2 array2 2 2 3 call mysubroutine array1 call mysubroutine array2 就
  • 如何使用命令提示符运行C程序[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 如果 c 文件的位置与默认位置不同 如何在安装了代码块
  • 从函数返回未来值

    我最近开始学习 Rust 我不确定如何从应该返回 Result 的函数返回未来值 当我尝试仅返回响应变量并删除结果输出时 出现错误 不能使用 返回的函数中的运算符std string String tokio main async fn d
  • 如何从 Lucene TokenStream 获取 Token?

    我正在尝试使用 Apache Lucene 进行标记化 但我对从某个地方获取标记的过程感到困惑TokenStream 最糟糕的是我正在查看 JavaDocs 中解决我的问题的评论 http lucene apache org java 3
  • 如何通过 SQL 访问雪花查询配置文件概览统计信息?

    在 Snowflake SnowSight UI 的 查询配置文件 视图中 有一个名为 配置文件概述 的部分 您可以在其中查看总执行时间的细分 它包含处理 本地磁盘 I O 远程磁盘 I O 同步等统计信息 完整列表在这里https doc
  • 在 MongoDB 中存储日期的最佳方式是什么?

    我刚刚开始学习MongoDB 希望慢慢从MySQL迁移 在 MySQL 中 有两种不同的数据类型 DATE 0000 00 00 and DATETIME 0000 00 00 00 00 00 在我的 MySQL 中 我使用DATE类型