2016-06-12 7 views
0

Ich versuche, das gleiche Verhalten zu erreichen, das bei Verwendung von z. MySQLMongoose - überprüfen, ob Schemapfade mit den bereitgestellten Eigenschaften übereinstimmen

Unknown column '...' in 'field list'

Ich habe 2 Dateien

1 - Modelle/user.js

// ... 
let user = new mongoose.Schema({ 
    forename: String, 
    surname: String 
}); 

user.pre('save', (next)=> { 
    // can I do the validation here ? 
    next(); 
}); 
// ... 

2 - seeder.js

// ... 
let user = require('./models/user'); 

let usr = new user({name: "some forename", surname: "some surname"}); 

usr.save((error, response)=>{ 
    // ... 
}); 
// ... 

Was ich tun möchte, ist einen Fehler zu werfen, dass die name Eigenschaft nicht in den Schemapfaden ist.

Irgendwelche Ideen? Oder sollte ich eine benutzerdefinierte Klasse erstellen, die mongoose.Schema mit benutzerdefinierten Methoden für diese Art der Validierung erweitert?

Antwort

0

Die Mongoose-Validierung wird ausgeführt, wenn die Pre-Save-Middleware ausgeführt wird. Dies ist also wahrscheinlich ein guter Ort, um Ihren Validierungscode einzugeben. Siehe die docs bei der Validierung.

+0

Beachten Sie außerdem, dass diese Daten standardmäßig ignoriert werden, wenn Sie nur Daten vermeiden möchten, die kein gültiger Schemapfad sind. Wenn Sie den Fehler möchten, müssen Sie dies implementieren, während Sie es versuchen. –

Verwandte Themen