Ich würde gerne wissen, ob es eine Konvention für Datenbanksammlungen gibt, wie zum Beispiel:
PageVisit
oder page_visit
.
Gibt es Vor- / Nachteile für diese Notationen?
mongodb
naming-conventions
Nascar
quelle
quelle
Antworten:
Die allgemeinen Konventionen sind:
Beispiele:
Feldnamenkonventionen (sollten) folgen der gleichen Logik, obwohl Kamelhüllen ziemlich häufig sind.
quelle
Vermeiden Sie einfach die Verwendung von Bindestrichen in Ihren Sammlungsnamen.
Und das nur, weil, wenn Sie die CLI der beiden folgenden Aufrufe verwenden, das erste ungültiges JavaScript ist:
db.foo-bar.find(); db['foo-bar'].find();
Sie sind beide funktional identisch, aber die zweite ist etwas nerviger zu tippen und nicht vollständig.
Abgesehen davon hängen die Vor- und Nachteile von Ihrer Nutzung der Sammlungen ab. Konsequent zu sein ist wichtiger als die von Ihnen gewählte Konvention.
quelle
:
für Namespace-Sammlungsnamen wie in gültigfoo:bar
?db["\n"].insert({});
- kein Fehler. Die Dinge, die zu beachten sind, sind meistens Bequemlichkeit mit dem Treiber, den Sie verwenden.In http://docs.mongodb.org/manual/reference/limits/ heißt es im Handbuch, dass die Sammlungsnamen mit einem Unterstrich ('_') oder einem Buchstaben beginnen sollten und nicht:
Wenn Sie jedoch der Regel folgen und eine Sammlung mit '_' als Anfangsbuchstaben erstellen, z. B. "_TWII", treten Probleme auf, wenn Sie die Sammlung löschen möchten. Sehen Sie sich den Test unten an und wie Sie ihn beheben können. Die Sammlung '_TWII' wurde unter 'people' db erstellt.
> show collections _TWII employees system.indexes > db._TWII.drop() 2015-02-19T16:34:56.738-0800 TypeError: Cannot call method 'drop' of undefined > use admin switched to db admin > db.runCommand({renameCollection:"people._TWII",to:"people.TWII"}) { "ok" : 1 } > use people switched to db people > show collections TWII employees system.indexes > db.TWII.drop() true > show collections employees system.indexes >
Eine Verknüpfung zum Löschen der _TWII-Sammlung unter 'people' db:
> db.createCollection('^TWII') { "ok" : 1 } > db.getCollection('^TWII').drop() true
quelle