gpt4 book ai didi

node.js - 使用 Mongoose、node 和 graphql 防止控制台错误

转载 作者:太空宇宙 更新时间:2023-11-03 23:02:52 26 4
gpt4 key购买 nike

我正在使用 Express、Graphql(Apollo 服务器)和 mongoose 制作一个 API 服务器。

我正在测试用户创建。当电子邮件重复时,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);
});
});

};

控制台中出现错误(我不想要这个。我在 Controller 中处理了错误。我只想在 GRAPHQL 响应中出现错误)

MongoError: E11000 duplicate key error collection: y.users index: email_1 dup key: { : "test@example.com" }
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)
....

Graphiql 中的响应(没问题)

{
"data": {
"registerUser": null
},
"errors": [
{
"message": "E11000 duplicate key error collection: y.users index: email_1 dup key: { : \"test@example.com\" }",
"locations": [
{
"line": 9,
"column": 3
}
],
"path": [
"registerUser"
]
}
]
}

谢谢

最佳答案

根据:http://dev.apollodata.com/tools/graphql-server/setup.html

在服务器

app.use('/graphql', bodyParser.json(), graphqlExpress({ schema: myschema, debug: false }));

debug false 就成功了。

现在。我正在检查软件包以获得更好的错误处理

谢谢

关于node.js - 使用 Mongoose、node 和 graphql 防止控制台错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43007301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com