当前位置:  开发笔记 > 编程语言 > 正文

MongoDB的命名约定是什么?

如何解决《MongoDB的命名约定是什么?》经验,为你挑选了4个好方法。

是否有一组MongoDB权限的首选命名约定,例如数据库,集合,字段名称?

我在考虑这些问题:

数据库:由目的(单数形式的单词)和以"db"结尾 - 全部小写:imagedb,resumedb,memberdb等.

收藏:小写复数:图像,简历,

文档字段:lowerCamelCase,例如memberFirstName,fileName等

Tomasz Nurki.. 118

    Keep'em简短:优化小物件的存储,SERVER-863.傻但真实.

    我想几乎适用于关系数据库的规则应该适用于此处.几十年后,仍然没有人同意RDBMS表是否应该被命名为单数或复数......

    MongoDB使用JavaScript,因此使用camelCase的JS命名约定.

    MongoDB官方文档提到您可以使用下划线,也可以使用内置标识符命名_id(但这可能是为了表明它_id是私有的,内部的,从不显示或编辑的.

3和4是矛盾的 - JS更喜欢camelcase,Mongo似乎更喜欢下划线......但是当有疑问时,请选择下划线.习惯使用非拉丁字母的人会感谢你. (89认同)

我不确定我会说"JS更喜欢camelcase".JS本身没有偏好,但也许说*大多数*JS程序员倾向于使用驼峰案例. (4认同)


小智.. 43

数据库

骆驼香烟盒

在名称末尾添加DB

单数(集合是复数)

MongoDB提供了一个很好的例子:

要选择要使用的数据库,请在mongo shell中发出use 语句,如以下示例所示:

使用myDB
使用myNewDB

内容来自:https://docs.mongodb.com/manual/core/databases-and-collections/#databases

COLLECTIONS

小写名称:避免区分大小写问题,MongoDB集合名称区分大小写.

复数:更明显地将一些东西标记为复数,例如"文件"而不是"文件"

>没有单词分隔符:避免不同的人(错误地)单独的单词(用户名< - > user_name,first_name < - >
firstname)的问题.根据
这里的一些人的说法,这个问题可以讨论,但是如果你认为它应该是集合名称,那么这个论点是孤立的;)如果你发现自己
通过添加下划线或者
camelCasing来提高你的集合名称的可读性名称可能太长或应该使用
适当的时间段,这是收集
分类的标准.

更高细节集合的点表示法:为集合的相关性提供一些指示.例如,如果您删除了"users",您可以合理地确定可以删除"users.pagevisits",前提是设计架构的人员做得很好.

内容来自:http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html

对于集合,我正在遵循这些建议的模式,直到找到官方的MongoDB文档.



1> Tomasz Nurki..:

    Keep'em简短:优化小物件的存储,SERVER-863.傻但真实.

    我想几乎适用于关系数据库的规则应该适用于此处.几十年后,仍然没有人同意RDBMS表是否应该被命名为单数或复数......

    MongoDB使用JavaScript,因此使用camelCase的JS命名约定.

    MongoDB官方文档提到您可以使用下划线,也可以使用内置标识符命名_id(但这可能是为了表明它_id是私有的,内部的,从不显示或编辑的.


3和4是矛盾的 - JS更喜欢camelcase,Mongo似乎更喜欢下划线......但是当有疑问时,请选择下划线.习惯使用非拉丁字母的人会感谢你.
我不确定我会说"JS更喜欢camelcase".JS本身没有偏好,但也许说*大多数*JS程序员倾向于使用驼峰案例.

2> 小智..:

数据库

骆驼香烟盒

在名称末尾添加DB

单数(集合是复数)

MongoDB提供了一个很好的例子:

要选择要使用的数据库,请在mongo shell中发出use 语句,如以下示例所示:

使用myDB
使用myNewDB

内容来自:https://docs.mongodb.com/manual/core/databases-and-collections/#databases

COLLECTIONS

小写名称:避免区分大小写问题,MongoDB集合名称区分大小写.

复数:更明显地将一些东西标记为复数,例如"文件"而不是"文件"

>没有单词分隔符:避免不同的人(错误地)单独的单词(用户名< - > user_name,first_name < - >
firstname)的问题.根据
这里的一些人的说法,这个问题可以讨论,但是如果你认为它应该是集合名称,那么这个论点是孤立的;)如果你发现自己
通过添加下划线或者
camelCasing来提高你的集合名称的可读性名称可能太长或应该使用
适当的时间段,这是收集
分类的标准.

更高细节集合的点表示法:为集合的相关性提供一些指示.例如,如果您删除了"users",您可以合理地确定可以删除"users.pagevisits",前提是设计架构的人员做得很好.

内容来自:http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html

对于集合,我正在遵循这些建议的模式,直到找到官方的MongoDB文档.



3> danza..:

即使没有为此指定约定,手动引用也始终以Mongo文档中引用的集合命名,用于一对一关系.名称始终遵循结构_id.

例如,在dogs集合中,文档将手动引用外部文档,如下所示:

{
  name: 'fido',
  owner_id: '5358e4249611f4a65e3068ab',
  race_id: '5358ee549611f4a65e3068ac',
  colour: 'yellow'
  ...
}

这遵循Mongo约定_id为每个文档命名标识符.



4> Shrinivas Ka..:

收集的命名约定

为了命名一个集合,几乎没有采取什么预防措施:

    带有空字符串("")的集合不是有效的集合名称.

    集合名称不应包含空字符,因为它定义了集合名称的结尾.

    集合名称不应以前缀"system"开头,因为这是为内部集合保留的.

    最好不要在集合名称中包含字符"$",因为可用于数据库的各种驱动程序不支持集合名称中的"$".

    创建数据库名称时要记住的事项是:

    具有空字符串("")的数据库不是有效的数据库名称.

    数据库名称不能超过64个字节.

    数据库名称区分大小写,即使在不区分大小写的文件系统上也是如此.因此,将名称保持为小写是好的.

    数据库名称不能包含以下任何字符"/,\,.,",*,<,>,:,|,?,$,".它也不能包含单个空格或空字符.

欲获得更多信息.请查看以下链接:http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html

推荐阅读
135369一生真爱_890
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有