2012-11-06 46 views
10

所以我有一些所谓MongoDB的架构设计命名约定

exports.create = function(projectJSON){ 

var project = new ProjectModel({ 
    id : projectJSON.id, 
    projectName : projectJSON.projectName , 
    authorName : projectJSON.authorName, 
    firstPostDate : projectJSON.firstPostDate 

}) 
} 

为多字元素上面的命名约定firstPostDate正确的,或者他们在所有小盘股_间隔?

我看到其他的博客喜欢它是在小盘股..

编辑:

而且我读的元素应该是单数,而不是复数即:

`comment` instead of `comments` for a blog schema design 

回答

15

我我自己使用Google's JSON Style Guide,他们建议使用camelCase即firstPostDate。以下是部分摘录

属性名称格式

属性名必须符合以下原则:

  • 属性名应当符合定义的语义有意义的名称。
  • 属性名必须是骆驼套管,ASCII字符串。
  • 第一个字符必须是字母,下划线(_)或一个美元符号($)。
  • 随后的字符可以是字母,数字,下划线或美元符号。应避免
  • 保留的JavaScript关键字(保留的JavaScript关键字列表可以在下面找到)。

这些准则反映准则命名的JavaScript标识符。这允许JavaScript客户端使用点符号访问属性。 (例如,result.thisIsAnInstanceVariable)。以下是一个物件的示例:

{ 
    "thisPropertyIsAnIdentifier": "identifier value" 
} 
+0

所以如果它只是1级与许多其他嵌入式文件庞大架构,第一个字符应该是'_id',而不是仅仅'id'吧?并且嵌入式文档中的'id'不需要有下划线? – bouncingHippo

+0

@bouncingHippo无法理解你在说什么。 Mongo中的所有高级别文档都自动创建了_id。我不认为你可以重命名它。 –

+0

可以说''thisPropertyIsAnIdentifier“'是一个字符串,在模式设计中,它不应该是''thisPropertyIsAnIdentifier”:“String”'? – bouncingHippo

5

缩短字段名称不是必需的。

检查docs

缩短字段名减少表现并没有提供对于大型文档 可观的效益并在文件开销 是显著关心的问题。较短的字段名称不会减小索引的大小,因为索引具有预定义的结构。 在 一般没有必要使用短字段名

1

收集

命名约定为了仅举几集采取预防措施 1.收集与空字符串(“”)是不是一个有效的集合名称。 2.集合名称不应包含空字符,因为它定义集合名称的结尾。 3。集合名称不应以前缀“system”开头,因为这是为内部集合保留的。 4.在集合名称中不包含字符“$”是很好的,因为数据库可用的各种驱动程序不支持集合名称中的“$”。

欲了解更多信息,请点击链接: http://www.learnit.net.in/2016/03/schema-design-and-naming-conventions-in.html