2012-11-06 13 views
10

Więc mam coś, co nazywaMongoDB projektowania schematu nazewnictwo

exports.create = function(projectJSON){ 

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

}) 
} 

Czy powyższa konwencja nazewnictwa dla elementu multi-word firstPostDate prawidłowe, czy one być rozmieszczone z _ we wszystkich małych czapki?

widzę, że inne blogi wolę go mieć w małych czapki ..

EDIT:

Również czytałem, że elementy powinny być w liczbie pojedynczej, a nie mnogiej IE:

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

Odpowiedz

15

I sam używaj Google's JSON Style Guide i sugerują użycie camelCase, tj. firstPostDate. Poniżej wyciągu sekcji

Nazwa nieruchomości formacie

Nazwy właściwości muszą być zgodne z następującymi wytycznymi:

  • Nazwy właściwości powinny być znaczące nazwiska ze zdefiniowanymi semantyki.
  • Nazwy właściwości muszą być wielobajtowe, ciągi znaków ASCII.
  • Pierwsza litera musi być literą, znakiem podkreślenia (_) lub znakiem dolara ($).
  • Kolejne znaki mogą być literą, cyfrą, podkreśleniem lub znakiem dolara.
  • Należy unikać zastrzeżonych słów kluczowych w języku JavaScript (listę zastrzeżonych słów kluczowych w języku JavaScript można znaleźć poniżej).

Niniejsze wytyczne odzwierciedlają wskazówki dotyczące nazywania identyfikatorów JavaScript. Umożliwia to klientom JavaScript uzyskanie dostępu do właściwości za pomocą notacji kropkowej. (na przykład result.thisIsAnInstanceVariable). Oto przykład obiektu z jedną właściwością:

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

więc jeśli jej tylko 1 ogromny schemat z mnóstwem innych osadzonych dokumentów, pierwszy znak powinien być '_id' zamiast po prostu' id' prawda? a "id" w dokumentach osadzonych nie musi mieć podkreślenia? – bouncingHippo

+0

@bouncingHippo Nie można zrozumieć, co mówisz. Wszystkie dokumenty wysokiego poziomu w Mongo automatycznie tworzą _id. Nie sądzę, żebyś mógł zmienić nazwę. –

+0

pozwala powiedzieć '" thisPropertyIsAnIdentifier "' jest ciągiem znaków w projekcie schematu, nie powinno to być '" thisPropertyIsAnIdentifier ":" String "'? – bouncingHippo

5

Skracanie nazw pól nie jest konieczne.

Sprawdź docs:

Skrócenie nazwy pól zmniejsza wyrazistość i nie zapewnia znaczne korzyści dla większych dokumentów i gdzie narzut dokument nie ma znacznego niepokoju. Krótsze nazwy pól nie zmniejszają rozmiaru indeksów o , ponieważ indeksy mają predefiniowaną strukturę. Ogólnie nie jest konieczne stosowanie krótkich nazw pól.

1

Konwencja nazewnictwa dla kolekcji

Aby wymienić zbiór kilka środków ostrożności, które należy podjąć 1. Kolekcja z pustym ciągiem znaków („”) nie jest prawidłową nazwą kolekcji. 2. Nazwa kolekcji nie powinna zawierać znaku pustego, ponieważ określa on koniec nazwy kolekcji. 3.Nazwa kolekcji nie powinna zaczynać się od przedrostka "system.", Ponieważ jest zarezerwowana dla wewnętrznych kolekcji. 4. Dobrze byłoby nie zawierać znaku "$" w nazwie kolekcji, ponieważ różne sterowniki dostępne dla bazy danych nie obsługują "$" w nazwie kolekcji.

Aby uzyskać więcej informacji, sprawdź link: http://www.learnit.net.in/2016/03/schema-design-and-naming-conventions-in.html