Ich mache einen API-Server mit Express, Graphql (Apollo-Server) und Mungo.Verhindern Konsolenfehler mit Mongoose, Knoten und graphql
Ich teste die Benutzererstellung. Wenn die E-Mail dupliziert wird, löst mongoose einen Fehler aus (Validierungsfehler. Unique = true) und graphql behandelt sehr gut. Aber die Konsole (Terminal) zeigt auch den Fehler an. Wie kann ich dieses Problem verhindern?
Resolver:..
const MODEL_PATH = '../../models';
const User = require(MODEL_PATH + '/User');
const { register } = require('../../controllers/auth/RegisterController');
module.exports = {
RootQuery: {
users() {
return User.find({});
}
},
Mutation: {
registerUser(_, data) {
return register(data);
}
}
};
RegisterController (Register Funktion)
exports.register = function(data) {
const { email, password } = data;
const user = new User({
email,
password
});
return new Promise((resolve, reject) => {
user.save().then((user) => {
resolve(user);
}).catch((err) => {
reject(err);
});
});
};
Und der Fehler in der Konsole (ich nicht will, dass ich HANDLED die Fehler in dem CONTROLLER ICH WILL DIE FEHLER iN DER GRAPHQL RESPONSE)
MongoError: E11000 duplicate key error collection: y.users index: email_1 dup key: { : "[email protected]" }
at Function.MongoError.create (/Volumes/Datos/x/code/y/server/node_modules/mongodb-core/lib/error.js:31:11)
at toError (/Volumes/Datos/x/code/y/server/node_modules/mongodb/lib/utils.js:114:22)
....
Antwort in Graphiql (Das ist ok)
{
"data": {
"registerUser": null
},
"errors": [
{
"message": "E11000 duplicate key error collection: y.users index: email_1 dup key: { : \"[email protected]\" }",
"locations": [
{
"line": 9,
"column": 3
}
],
"path": [
"registerUser"
]
}
]
}
Danke