Stellen Sie alle erforderlichen Felder in Mungo
Mungo scheint standardmäßig alle Felder, die nicht erforderlich sind. Gibt es eine Möglichkeit, um alle Felder erforderlich, ohne änderung jedem:
Dimension = mongoose.Schema(
name: String
value: String
)
zu
Dimension = mongoose.Schema(
name:
type: String
required: true
value:
type: String
required: true
)
Werde es wirklich hässlich, da ich eine Menge von diesen.
InformationsquelleAutor der Frage maxko87 | 2013-11-04
Du musst angemeldet sein, um einen Kommentar abzugeben.
Könnte man etwas machen wie:
oder für alle attrs (mit Unterstrich, der ist genial):
InformationsquelleAutor der Antwort 190290000 Ruble Man
Landete ich, dies zu tun:
und für die anderen Datentypen.
InformationsquelleAutor der Antwort maxko87
Alle Felder Eigenschaften sind in
schema.paths[attribute]
oderschema.path(attribute)
;Einen richtigen Weg zu gehen : definieren, wenn ein Feld ist NICHT erforderlich,
und machen Sie alle erforderlichen standardmäßig :
Den Unterstrich Weg :
Test :
InformationsquelleAutor der Antwort Flint
Gut könnten Sie schreiben, eine Mungo-schema plugin-Funktion, die ging, das schema-Objekt und es angepasst, um jedes Feld erforderlich. Dann würden Sie brauchen nur 1 Zeile pro schema:
Dimension.plugin(allRequired)
.InformationsquelleAutor der Antwort Peter Lyons
Mongoose hat nicht die Methode der Aktivierung aller Felder, aber man kann es rekursiv.
Wie Peter erwähnt, könnte man pluginize es um den code wiederverwenden.
Rekursiv Einstellung:
Pluginized:
InformationsquelleAutor der Antwort chuyik
Ich bin mir nicht sicher, ob es ist ein einfacher Weg, es zu tun in Mungo, aber ich würde Folgendes tun Sie Ihre IDE/editor:
Liste aus Sie Ihre Felder wie gewohnt:
Dann tun Sie eine Suche durch und ersetzen Sie auf
String
und ersetzen Sie es mit{type: String, required: true},
Geben Sie:Dann tun Sie das gleiche für
Number
und andere Arten.InformationsquelleAutor der Antwort Samuel O'Malley
Aufbauend auf die vorherigen Antworten, das Modul unten machen erforderlichen Felder standardmäßig. Die vorherigen Antworten nicht Rekursion verschachtelte Objekte/arrays.
Verwendung:
Node-Modul:
InformationsquelleAutor der Antwort koga73