私はExpress、Graphql(Apolloサーバ)とmongooseでAPIサーバを作っています。Mongoose、node、graphqlのコンソールエラーを防止します
私はユーザー作成をテストしています。電子メールが複製されると、mongooseはエラー(検証エラー、Unique = true)をスローし、graphqlは非常にうまく処理します。しかし、コンソール(ターミナル)もエラーを示しています。どうすればその問題を防ぐことができますか?
リゾルバ:
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(関数を登録)
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);
});
});
};
とコンソールにエラー(私はしたくない私は、コントローラ内のエラーを処理し、私はしたいです。。 ONLY GRAPHQL応じてERROR)Graphiqlで
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)
....
応答(それは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"
]
}
]
}
はあなたに