是否有一组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文档.
Keep'em简短:优化小物件的存储,SERVER-863.傻但真实.
我想几乎适用于关系数据库的规则应该适用于此处.几十年后,仍然没有人同意RDBMS表是否应该被命名为单数或复数......
MongoDB使用JavaScript,因此使用camelCase的JS命名约定.
MongoDB官方文档提到您可以使用下划线,也可以使用内置标识符命名_id
(但这可能是为了表明它_id
是私有的,内部的,从不显示或编辑的.
数据库
骆驼香烟盒
在名称末尾添加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文档.
即使没有为此指定约定,手动引用也始终以Mongo文档中引用的集合命名,用于一对一关系.名称始终遵循结构
.
例如,在dogs
集合中,文档将手动引用外部文档,如下所示:
{ name: 'fido', owner_id: '5358e4249611f4a65e3068ab', race_id: '5358ee549611f4a65e3068ac', colour: 'yellow' ... }
这遵循Mongo约定_id
为每个文档命名标识符.
收集的命名约定
为了命名一个集合,几乎没有采取什么预防措施:
带有空字符串("")的集合不是有效的集合名称.
集合名称不应包含空字符,因为它定义了集合名称的结尾.
集合名称不应以前缀"system"开头,因为这是为内部集合保留的.
最好不要在集合名称中包含字符"$",因为可用于数据库的各种驱动程序不支持集合名称中的"$".
创建数据库名称时要记住的事项是:
具有空字符串("")的数据库不是有效的数据库名称.
数据库名称不能超过64个字节.
数据库名称区分大小写,即使在不区分大小写的文件系统上也是如此.因此,将名称保持为小写是好的.
数据库名称不能包含以下任何字符"/,\,.,",*,<,>,:,|,?,$,".它也不能包含单个空格或空字符.
欲获得更多信息.请查看以下链接:http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html