Is there a convention to name collection in MongoDB?

nascar picture nascar · Mar 26, 2012 · Viewed 56.6k times · Source

I would like to know if there is a convention for database collections such as:

PageVisit or page_visit.

Are there any advantages/disadvantages for these notations?

Answer

Remon van Vliet picture Remon van Vliet · Mar 26, 2012

The general conventions are:

  • Lowercase names: this avoids case sensitivity issues, as 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 ;)

Examples:

users
pagevisits
users.pagevisits

Field name conventions (should) follow some of the same logic although camel casing those is fairly common.