千家信息网

MongoDB几个问题梳理和复盘过程是怎样的

发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍MongoDB几个问题梳理和复盘过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。工作中主要负责的系统主要以MongoDB数据库为主,开发过程中积累了一
千家信息网最后更新 2025年12月02日MongoDB几个问题梳理和复盘过程是怎样的

这篇文章给大家介绍MongoDB几个问题梳理和复盘过程是怎样的,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。

工作中主要负责的系统主要以MongoDB数据库为主,开发过程中积累了一些经验和实际使用case,前一段时间把相关的场景整理了一下,组织了几篇文章。

当我尝试想把这些文发布到MongoDB中文社区时,与负责人沟通后,他们提出了一些文章中有待商榷和不严谨的地方,我在这里做一个梳理和复盘修正。

关于时间存储类型的选择

《MongoDB开发系列-从数据集合的设计开始 》中写到

时间可以直接定义为格式化的时间,便于识别和查询。不必特意存储时间戳,这样方便可视化的工具查询核对。

这里的格式化的时间有歧义,会被认为是时间字符串,比如(2019-07-03 19:10:11),我的本意是想表达使用ISODate类型的时间格式存储。

时间戳和时间格式两个数据类型的存储是一个选择问题,有的人习惯使用时间戳存储,有的人习惯用时间类型存储。

建议存时间戳的认为,时间转换成字符串很方便,字符串转换成时间很不方便。还有效率的问题。

字段语义化和字段映射

字段长度尽可能的短,不宜过长。也是考虑到内存优化。

原厂专家的建议是

实际并不存在长短的问题,因为有压缩,字段名这种重复的字段压缩后可以忽略

最开始我在考虑MongoDb是基于内存和key value形式的数据库,关于【命名规范,短字符的建议】这一条,我在官方和社区都没有找到正面的回应。

官方的文档大多是以小写命名做字段定义的,所以对于这个观点 我也是在逐步否定,或者说这种做法对内存的优化并不明显,反而牺牲了字段语意化,增加了开发字段映射和沟通成本。

官方文档示例

正常的做法是:按照驼峰或者全部小写的语义化命名即可

单文档宽度

注意这种情况下,切忌文档过宽。那如何避免这种情况,我的方法是预估最大字段数,以20个字段为节点,多于20则采用嵌套document的设计方式组织document。

这是工作中的设计经验,有不严谨的地方,容易误导读者。不应该有20的这个量化数据,我的本意是,如果一级属性太多,可以整理为二级嵌套字段,仅此而已。

关于MongoDB几个问题梳理和复盘过程是怎样的就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。

时间 字段 存储 数据 字符 文档 格式 类型 过程 字符串 官方 建议 问题 开发 设计 几个问题 严谨 做法 内存 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 数据库与程序如何连接起来 甘肃电信服务器云空间 为什么要认真做好网络安全工作 彩虹六号异种服务器连接出现错误xbox 网络安全态势感知平台架构 数据库管理系统介绍 物联网适合的数据库 学校网络安全座谈会 詹天佑笔记软件开发 sql 数据库备份还原 实现linux服务器互相通信 天眼互联网科技有限公司 招聘 宁海专业软件开发项目管理 战狼数据库 软件开发往哪个方向做 网络安全形势高危 云顶之弈英雄无法连接服务器 南京网络软件开发一体化 杨浦区网络营销软件开发管理系统 网络安全教育方案小学 第三次科技改革互联网 中商情报网数据库华为 江阴加工软件开发维修电话 网络技术服务所得税税率 泰安联想服务器哪家是专业做的 香港 云服务器管理 怎样建立数据库服务器 数据库产品年终回顾 建立搜索数据库 国庆假期网络安全公约10条
0