MongoDB实体(如数据库、集合、字段名)是否有一组首选的命名约定?
我是这么想的:
数据库:由目的(单数词)组成,以“db”结尾——全部小写:imagedb, resumedb, memberdb等。 集合:小写复数:图像,简历, 文档字段:lowerCamelCase,例如memberFirstName, fileName等
MongoDB实体(如数据库、集合、字段名)是否有一组首选的命名约定?
我是这么想的:
数据库:由目的(单数词)组成,以“db”结尾——全部小写:imagedb, resumedb, memberdb等。 集合:小写复数:图像,简历, 文档字段:lowerCamelCase,例如memberFirstName, fileName等
当前回答
在获得SERVER-863之前,建议保持字段名尽可能短 尤其是你有很多记录。
根据用例的不同,字段名对存储有很大的影响。不能理解为什么这不是MongoDb的优先级更高,因为这将对所有用户产生积极影响。如果没有别的,我们可以开始对字段名进行更详细的描述,而不必考虑带宽和存储成本。
请一定投票。
其他回答
Keep'em short: Optimizing Storage of Small Objects, SERVER-863. Silly but true. I guess pretty much the same rules that apply to relation databases should apply here. And after so many decades there is still no agreement whether RDBMS tables should be named singular or plural... MongoDB speaks JavaScript, so utilize JS naming conventions of camelCase. MongoDB official documentation mentions you may use underscores, also built-in identifier is named _id (but this may be be to indicate that _id is intended to be private, internal, never displayed or edited.
我认为这完全是个人喜好。我的偏好来自于使用NHibernate,在。net中,与SQL Server,所以他们可能与其他人使用的不同。
数据库:正在使用的应用程序。例:Stackoverflow 集合:名称上的单数,它将是什么集合,例如:问题 文档字段,例如:MemberFirstName
老实说,这并不太重要,只要它与项目一致即可。去工作吧,不要为细节烦恼
在获得SERVER-863之前,建议保持字段名尽可能短 尤其是你有很多记录。
根据用例的不同,字段名对存储有很大的影响。不能理解为什么这不是MongoDb的优先级更高,因为这将对所有用户产生积极影响。如果没有别的,我们可以开始对字段名进行更详细的描述,而不必考虑带宽和存储成本。
请一定投票。
即使没有指定这方面的约定,对于一对一的关系,手动引用始终按照Mongo文档中引用的集合命名。名称始终遵循<document>_id结构。
例如,在dogs集合中,文档会手动引用外部文档,命名如下:
{
name: 'fido',
owner_id: '5358e4249611f4a65e3068ab',
race_id: '5358ee549611f4a65e3068ac',
colour: 'yellow'
...
}
这遵循Mongo的约定,为每个文档命名_id标识符。
数据库
camelCase 在名称的末尾附加DB 使集合为单数(集合为复数)
MongoDB给出了一个很好的例子:
要选择要使用的数据库,在mongo shell中,发出use <db> 语句,如下例所示: 使用myDB 使用myNewDB
内容来自:https://docs.mongodb.com/manual/core/databases-and-collections/#databases
集合
Lowercase names: avoids case sensitivity issues, MongoDB collection names are case sensitive. Plural: more obvious to label a collection of something as the plural, e.g. "files" rather than "file" >No word separators: Avoids issues where different people (incorrectly) separate words (username <-> user_name, first_name <-> firstname). This one is up for debate according to a few people around here but provided the argument is isolated to collection names I don't think it should be ;) If you find yourself improving the readability of your collection name by adding underscores or camelCasing your collection name is probably too long or should use periods as appropriate which is the standard for collection categorization. Dot notation for higher detail collections: Gives some indication to how collections are related. For example you can be reasonably sure you could delete "users.pagevisits" if you deleted "users", provided the people that designed the schema did a good job. Content from: https://web.archive.org/web/20190313012313/http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html
对于集合,我遵循这些建议的模式,直到我找到官方的MongoDB文档。