Überspringen oder Deaktivieren Sie die Validierung für das mongoose Modell save () - Aufruf
Ich bin auf der Suche um ein neues Dokument erstellen, das abgespeichert, um die MongoDB unabhängig davon, ob es gültig ist. Ich will nur vorübergehend überspringen Mungo Validierung nach Modell sparen Sie rufen.
In meinem Fall eine CSV importieren, einige erforderliche Felder sind nicht Bestandteil der CSV-Datei, vor allem der Verweis-Felder, um das andere Dokument. Dann, die Mungo-überprüfung erforderliche Prüfung ist nicht bestanden, der für das folgende Beispiel:
var product = mongoose.model("Product", Schema({
name: {
type: String,
required: true
},
price: {
type: Number,
required: true,
default: 0
},
supplier: {
type: Schema.Types.ObjectId,
ref: "Supplier",
required: true,
default: {}
}
}));
var data = {
name: 'Test',
price: 99
}; //this may be array of documents either
product(data).save(function(err) {
if (err) throw err;
});
Ist es möglich, dass Mungo wissen, nicht ausführen Validierung in der save()
nennen?
[Bearbeiten]
Habe ich alternativ versucht,Modell.create(), aber es ruft die Gültigkeitsprüfung zu.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Obwohl es eine Möglichkeit zum deaktivieren der überprüfung, dass ich bin mir nicht bewusst eine Ihrer Möglichkeiten ist die Verwendung von Methoden, die nicht mit der middleware (und damit keine Validierung). Eine davon ist einfügen, welcher auf die Mongo-Treiber direkt.
conditions
zufindOneAndUpdate
. Es werden nur Reine legen. Was ist mit den anderen Methoden?insert
die ist eine von der Fahrer-Methoden.supplier
Bereich, obwohl ich den default-Wert. Sorry, ich bin neu in mongodb und mongoose.Unterstützt wird dies seit v4.4.2:
Können Sie mehrere Modelle, dass die Verwendung der gleichen Kollektion so erstellen Sie ein zweites Modell ohne die erforderlichen Feld-Einschränkungen für die Verwendung mit CSV-import:
Den Dritten parameter, um
model
stellt eine explizite name der Kollektion, so dass Sie dieses Modell auch verwenden, dieproducts
Sammlung.War ich in der Lage zu ignorieren, überprüfung und die Erhaltung der middleware Verhalten durch den Austausch der
validate
Methode:Getestet hab ich es nur mit Mungo 3.8.23
JS: