bouncingHippo
bouncingHippo

Reputation: 6040

mongodb schema design naming convention

So I have something called

exports.create = function(projectJSON){

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

 })
}

Is the above naming convention for a multi-word element firstPostDate (camel case) correct, or should they be spaced with _ in all lowercase?

I see that other blogs prefer it to be in small caps..

EDIT:

Also I read that elements should be singular instead of plural ie:

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

Upvotes: 18

Views: 22405

Answers (3)

Shrinivas Kalangutkar
Shrinivas Kalangutkar

Reputation: 1011

Naming convention for collection.

In order to name a collection few precautions to be taken:

  1. A collection with empty string “” is not a valid collection name.

  2. A collection name should not contain the null character because this defines the end of collection name.

  3. Collection name should not start with the prefix “system.” as this is reserved for internal collections.

  4. It would be good to not contain the character $ in the collection name as various driver available for database do not support $ in collection name.

For more information, please check the link: http://www.tutespace.com/2016/03/schema-design-and-naming-conventions-in.html

Upvotes: 1

Aravind Yarram
Aravind Yarram

Reputation: 80176

I use Google's JSON Style Guide myself and they suggest using camelCase i.e. firstPostDate. Below is the section excerpt

Property Name Format

Property names must conform to the following guidelines:

  • Property names should be meaningful names with defined semantics.
  • Property names must be camel-cased, ascii strings.
  • The first character must be a letter, an underscore (_) or a dollar sign ($).
  • Subsequent characters can be a letter, a digit, an underscore, or a dollar sign.
  • Reserved JavaScript keywords should be avoided (A list of reserved JavaScript keywords can be found below).

These guidelines mirror the guidelines for naming JavaScript identifiers. This allows JavaScript clients to access properties using dot notation. (for example, result.thisIsAnInstanceVariable). Here's an example of an object with one property:

{
  "thisPropertyIsAnIdentifier": "identifier value"
}

Upvotes: 29

Esteban Gatjens
Esteban Gatjens

Reputation: 5061

Shortening field names is not necessary.

Check docs:

Shortening field names reduces expressiveness and does not provide considerable benefit for larger documents and where document overhead is not of significant concern. Shorter field names do not reduce the size of indexes, because indexes have a predefined structure. In general it is not necessary to use short field names.

Upvotes: 6

Related Questions