mongoDB教程(五):命名规范

还是大剑师兰特:曾是美国某知名大学计算机专业研究生,现为航空航海领域高级前端工程师;CSDN知名博主,GIS领域优质创作者,深耕openlayers、leaflet、mapbox、cesium,canvas,webgl,echarts等技术开发,欢迎加底部微信(gis-dajianshi),一起交流。

在这里插入图片描述

No.内容链接
1Openlayers 【入门教程】 - 【源代码+示例300+】
2Leaflet 【入门教程】 - 【源代码+图文示例 150+】
3Cesium 【入门教程】 - 【源代码+图文示例200+】
4MapboxGL【入门教程】 - 【源代码+图文示例150+】
5前端就业宝典 【面试题+详细答案 1000+】

文章目录

      • 一、数据库命名规范
      • 二、集合命名规范
      • 三、文档键(Field)命名规范
      • 四、索引命名规范
      • 五、其他注意事项


在这里插入图片描述
MongoDB 的命名规范非常重要,它不仅影响数据库的可读性和可维护性,还可能影响到数据的一致性和性能。以下是一些推荐的 MongoDB 命名规范:

一、数据库命名规范

  • 数据库名称应该是小写的,并且只包含字母、数字和下划线。
  • 数据库名不能是空字符串。
  • 数据库名不能包含特殊字符,除了下划线 _
  • 数据库名不能以数字开头。
  • 数据库名不应超过64个字符。
  • 避免使用系统保留的数据库名称,如 admin, local, config
  • 数据库名应具有描述性,清晰地表明其用途。

二、集合命名规范

  • 集合名同样应该是小写的,并且只包含字母、数字和下划线。
  • 集合名不能是空字符串。
  • 集合名不能包含空字符 \0
  • 集合名不能以 system. 开头,因为这是为系统集合保留的前缀。
  • 集合名应尽可能简洁,但具有描述性,以反映其包含的数据类型或用途。
  • 避免在集合名中使用点 . 和美元符号 $,尽管它们在某些情况下是允许的,但可能会导致混淆或意外行为,尤其是在使用 MongoDB 的聚合框架时。

三、文档键(Field)命名规范

  • 键名应避免使用除下划线 _ 以外的特殊字符。
  • 键名应该全部小写,多个单词可以使用下划线连接。
  • 键名不能以数字开头。
  • 避免使用 ._id 或任何以 _id 结尾的键名,以防止与 MongoDB 自动生成的 _id 字段冲突。
  • 键名应具有描述性,清晰地表明其存储的数据类型或意义。

四、索引命名规范

  • 索引名长度不应超过128个字符。
  • 尽量使用描述性的名称,以便清楚地了解索引的目的。
  • 当创建组合索引时,考虑将数据基数大的字段放在前面,以提高索引的效率。

五、其他注意事项

  • 虽然 MongoDB 支持 Unicode 字符串作为数据库、集合和键名,但在命名时仍应考虑到国际化和编码问题。
  • 遵循一致的命名约定有助于团队协作和代码的可读性。

这些规范可以帮助你建立一个清晰、一致且易于维护的 MongoDB 数据库架构。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/1474553.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

【Java】详解String类中的各种方法

创建字符串 常见的创建字符串的三种方式: // 方式一 String str "hello world"; // 方式二 String str2 new String("hello world"); // 方式三 char[] array {a, b, c}; String str3 new String(array); "hello" 这样的字符串字…

Allegro X 重置Cadence Product Choices

Allegro X 重置Cadence Product Choices 1、关闭所有打开的工程及文件; 2:File->Change Product可选状态,点选之; 3:根据需要设置或者勾选Use as default 4:OK确认选择

机器学习 | 随机梯度下降分类器

数据科学和机器学习工具包中用于各种分类任务的一个重要工具是随机梯度下降(SGD)分类器。通过探索其功能和在数据驱动决策中的关键作用,我们开始探索SGD分类器的复杂性。 SGD分类器是一种与SGD回归器有着密切联系的灵活分类技术。它的工作原…

【网络安全】实验六(网络安全协议的应用SSL,Ipsec)

一、实验目的 二、搭配环境 打开两台虚拟机,并参照下图,搭建网络拓扑环境,要求两台虚拟机的IP地址要按照图中的标识进行设置,并根据搭建完成情况,勾选对应选项。同时,按照多选题中2-3题的要求完成相关环境…

【IMU】 确定性误差与IMU_TK标定原理

1、确定性误差 MEMS IMU确定性误差模型 K 为比例因子误差 误差来源:器件的输出往往为脉冲值或模数转换得到的值,需要乘以一个刻度系数才能转换成角速度或加速度值,若该系数不准,便存在刻度系数误差。 T 为交轴耦合误差 误差来源:如下图,b坐标系是正交的imu坐标系,s坐标系的三…

RabbitMQ中常用的三种交换机【Fanout、Direct、Topic】

目录 1、引入 2、Fanout交换机 案例:利用SpringAMQP演示Fanout交换机的使用 3、Direct交换机 案例:利用SpringAMQP演示Direct交换机的使用 4、Topic交换机 案例:利用SpringAMQP演示Topic交换机的使用 1、引入 真实的生产环境都会经过e…

《python程序语言设计》2018版第5章第52题利用turtle绘制sin函数

这道题是送分题。因为循环方式已经写到很清楚,大家照抄就可以了。 但是如果说光照抄可是会有问题。比如我们来演示一下。 import turtleturtle.penup() turtle.goto(-175, 50 * math.sin((-175 / 100 * 2 * math.pi))) turtle.pendown() for x in range(-175, 176…

Web3D+GIS完全免费的案例上线了

说明 - 人人奉献一点爱 - 让爱传递给更多的程序员 上传案例:将案例js放入到public目录下的cesiumExamples/threeExamples,然后在public/config目录对应的js录入的案例信息即可(不打包) 注: 先点星!先点星!先点星!重要…

FC、NoF+、RoCE存储网络简介

全闪存时代背景下,传统的 FC存储网络 (Fibre Channel,网状通道)已经无法满足全闪存数据中心的要求, NVMe存储协议 (Non-Volatile Memory express,非易失性内存主机控制器接口规范)的…

爱了!8款超好用的PC端办公软件!

AI视频生成:小说文案智能分镜智能识别角色和场景批量Ai绘图自动配音添加音乐一键合成视频https://aitools.jurilu.com/ 你电脑中用的最久的软件是哪些?以下是否有你曾经使用过的软件呢?工欲善其事,必先利其器,今天继续…

排序 -- 计数排序以及对排序的总结

到了这篇文章就说明常见的排序我们就快要讲完了,那这篇文章我们就讲一下非比较排序--计数排序。 一、非比较排序 1.基本思想 计数排序又称为鸽巢原理,是对哈希直接定址法的变形应用。 操作步骤: 统计相同元素出现次数 根据统计的结果将序列…

SAP_MM模块-特殊业务场景下的系统实现方案

一、业务背景 目前公司有一种电商业务,卖的是备品配件,是公司先跟供应商采购,然后再销售给客户,系统账就是按照正常业务来流转,公司进行采购订单入库,然后销售订单出库。 不过这种备品配件,实…

win7系统快速安装python

下载安装包 建议选择python3.8左右的,我下载的是3.7.8,最新版本的pythonwin7可能不支持 python网址 下拉寻找 安装python 1.双击安装包 更换完地址选择安装(install) 安装完成后点击close即可 测试是否安装成功 1.winr快捷键打开黑窗口输入cmd …

【大模型LLM面试合集】大语言模型基础_LLM为什么Decoder only架构

LLM为什么Decoder only架构 为什么现在的LLM都是Decoder only的架构? LLM 是 “Large Language Model” 的简写,目前一般指百亿参数以上的语言模型, 主要面向文本生成任务。跟小尺度模型(10亿或以内量级)的“百花齐放”…

shark云原生-日志体系-filebeat高级配置(适用于生产)-更新中

文章目录 1. filebeat.inputs 静态日志收集器2. filebeat.autodiscover 自动发现2.1. autodiscover 和 inputs2.2. 如何配置生效2.3. Providers 提供者2.4. Providers kubernetes2.5. 配置 templates2.5.1. kubernetes 自动发现事件中的变量字段2.5.2 配置 templates 2.6. 基于…

nature methods | 11种空间转录组学技术的系统性比较

—DOI: 10.1038/s41592-024-02325-3 Systematic comparison of sequencing-based spatial transcriptomic methods 学习了一下空间转录组技术怎么做benchmark,从多个的角度去考虑目前技术的性能,受益良多。但该研究缺少对10X Visium HD的测评&#xff…

智能交通(3)——Learning Phase Competition for Traffic Signal Control

论文分享 https://dl.acm.org/doi/pdf/10.1145/3357384.3357900https://dl.acm.org/doi/pdf/10.1145/3357384.3357900 论文代码 https://github.com/gjzheng93/frap-pubhttps://github.com/gjzheng93/frap-pub 摘要 越来越多可用的城市数据和先进的学习技术使人们能够提…

封装了一个仿照抖音效果的iOS评论弹窗

需求背景 开发一个类似抖音评论弹窗交互效果的弹窗,支持滑动消失, 滑动查看评论 效果如下图 思路 创建一个视图,该视图上面放置一个tableView, 该视图上添加一个滑动手势,同时设置代理,实现代理方法 (BOOL)gestur…

LabVIEW的Actor Framework (AF) 结构介绍

LabVIEW的Actor Framework (AF) 是一种高级架构,用于开发并发、可扩展和模块化的应用程序。通过面向对象编程(OOP)和消息传递机制,AF结构实现了高效的任务管理和数据处理。其主要特点包括并发执行、动态可扩展性和强大的错误处理能…

程序员熬夜看欧洲杯被“冻住”,呼吸困难……

2024欧洲杯接近尾声,更是激发球迷兴趣。由于时差关系,很多球迷熬夜看球,啤酒、宵夜成了标配。然而,在这份欢乐背后,也隐藏着健康风险。 日前,浙江杭州29岁的程序员单先生熬夜与朋友看完球赛后开车回家&…