Ich habe versucht, die Antwort auf diese Frage überall zu finden, aber es scheint, ich bin kein Glück.Mungo {strict: throw} wirft keinen Fehler
Ich habe ein sehr einfaches Modell Mungo
var userObject = {
profile: {
username: {
type: String,
required: true,
lowercase: true
},
firstname: {
type: String,
required: true
},
lastname: {
type: String,
required: true
},
img: {
type: String,
required: true,
match: /^(https?:\/\/)/i
},
email: {
type: String,
match: /^[a-zA-Z0-9.!#$%&’*+/=?^_`{|}~-][email protected][a-zA-Z0-9-]+(?:\.[a-zA-Z0-9-]+)*$/,
required: true
},
singupdate: {
type: Date,
default: Date.now
}
}
};
Und wenn ich das Schema erstellen wähle ich die Möglichkeit, einen Fehler zu werfen, wenn ich Eigenschaften nicht in dem Modell hinzufügen.
new mongoose.Schema(userObject, { strict: "throw" });
So habe ich versucht, den Fehler zu fangen. Wenn ich gültige Eigenschaften hinzufüge, wird der Prozess ausgeführt und ich erhalte die erstellten Dokumente. Wenn ich jedoch ungültige Eigenschaften hinzufüge, wird der Prozess nie beendet und die Protokolle werden nie auf der Konsole angezeigt.
try {
User.create(users, function(err, docs) {
console.log("err: " + err);
console.log("docs: " + docs);
});
} catch (e) {
console.log(e.message);
}
Was mache ich falsch?
Gibt es eine Möglichkeit zu wissen, welche Felder nicht gespeichert wurden? – Leia
Setzen Sie "erforderlich: wahr" auf Ihrem Feld in Ihrem Modell sicher, dass sie gespeichert werden, andernfalls sind sie nicht erforderlich, und wenn sie nicht Teil der Eingabe sind, wird sie nicht gemeldet –