2012-11-06 8 views
10

Così ho qualcosa chiamatoMongoDB convenzione schema di disegno di denominazione

exports.create = function(projectJSON){ 

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

}) 
} 

è la convenzione di denominazione sopra per un elemento multi-word firstPostDate corretta, oppure essere distanziati con _ in tutte maiuscoletto?

vedo che altri blog preferiscono che sia in maiuscoletto ..

EDIT:

Inoltre ho letto che gli elementi devono essere singolare al posto del plurale vale a dire:

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

risposta

15

I utilizzare Google's JSON Style Guide personalmente e suggeriscono l'utilizzo di camelCase, ovvero firstPostDate. Qui di seguito è la sezione stralcio

nome proprietà Formato

nomi di proprietà devono essere conformi alle seguenti linee guida:

  • nomi di proprietà devono essere nomi significativi con semantica definita.
  • I nomi delle proprietà devono essere cammellati, corde ascii.
  • Il primo carattere deve essere una lettera, un carattere di sottolineatura (_) o un simbolo di dollaro ($).
  • I caratteri successivi possono essere una lettera, una cifra, un trattino basso o un simbolo di dollaro.
  • Le parole chiave JavaScript riservate devono essere evitate (di seguito è riportato un elenco di parole chiave JavaScript riservate).

Queste linee guida rispecchiano le linee guida per la denominazione degli identificatori JavaScript. Ciò consente ai client JavaScript di accedere alle proprietà utilizzando la notazione dot. (ad esempio, result.thisIsAnInstanceVariable). Ecco un esempio di un oggetto con una proprietà:

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

quindi se il suo solo 1 enorme schema con un sacco di altri documenti incorporati, il primo carattere deve essere '_id' invece di' id' giusto? e 'id' nei documenti incorporati non ha bisogno di avere un carattere di sottolineatura? – bouncingHippo

+0

@bouncingHippo Impossibile capire cosa stai dicendo. Tutti i documenti di alto livello in Mongo hanno _id creato automaticamente. Non penso che tu possa rinominarlo. –

+0

lasciamo dire "thisPropertyIsAnIdentifier" 'è una stringa, nella progettazione dello schema, non dovrebbe essere" "thisPropertyIsAnIdentifier": "String" '? – bouncingHippo

5

Non è necessario un nome di campo abbreviato.

Controllare docs:

Accorciare i nomi dei campi riduce espressività e non fornisce notevole beneficio per i documenti più grandi e dove il documento in testa non è di preoccupazione significativa. I nomi di campo più brevi non riducono la dimensione degli indici , perché gli indici hanno una struttura predefinita. In generale non è necessario utilizzare nomi di campo brevi.

1

Convenzione di denominazione per raccolta

Per citarne raccolta alcune precauzioni da prendere 1. Una collezione con stringa vuota (“”) non è un nome di raccolta valido. 2. Un nome di raccolta non deve contenere il carattere null poiché questo definisce il nome di fine collezione. 3.Il nome della raccolta non deve iniziare con il prefisso "system." Poiché è riservato alle raccolte interne. 4. Sarebbe bene non contenere il carattere "$" nel nome della raccolta in quanto i vari driver disponibili per il database non supportano "$" nel nome della raccolta.

Per ulteriori informazioni, si prega di consultare il link: http://www.learnit.net.in/2016/03/schema-design-and-naming-conventions-in.html

Problemi correlati