Javascript GraphQL无法返回';空';对于';不可为空的字段'&书信电报;类型字段>;
我理解错误的意思,并尝试调试所有可能的解决方案 在我的案例中,确切的错误是:Javascript GraphQL无法返回';空';对于';不可为空的字段'&书信电报;类型字段>;,javascript,mongoose,graphql,apollo-server,Javascript,Mongoose,Graphql,Apollo Server,我理解错误的意思,并尝试调试所有可能的解决方案 在我的案例中,确切的错误是: { "errors": [ { "message": "Cannot return null for non-nullable field Order.total.", "locations": [ { "line": 5, &q
{
"errors": [
{
"message": "Cannot return null for non-nullable field Order.total.",
"locations": [
{
"line": 5,
"column": 5
}
],
"path": [
"createOrder",
"total"
],
"extensions": {
"code": "INTERNAL_SERVER_ERROR",
"exception": {
"stacktrace": [
"Error: Cannot return null for non-nullable field Order.total.",
在我的类型定义中,我将Order.total字段设置为空,但问题仍然存在。
订单类型:
# Mutation
createOrder(orderInput: OrderInput!): Order!
# Custom Input
input OrderInput {
username: String!
total: Float
pizzas: [ID]!
collectAt: String!
createdAt: String!
}
创建顺序解析程序的设置与所有其他解析程序的设置完全相同,可以完美地工作。
创建订单解析程序:
createOrder: async (
_,
{ orderInput: { username, total, pizzas, collectAt, createdAt } }
) => {
try {
// console.log(pizzas);
const newOrder = Order({
username,
total,
pizzas,
collectAt,
createdAt
});
const res = await newOrder.save();
return res;
} catch (err) {
throw new Error("Caught An Error => " + err);
}
}
我知道有些人可能会问我在用什么ORM在这种情况下,我在用猫鼬。
以下是订单模型:
const orderSchema = new Schema({
username: String,
total: Number,
pizzas: [
{
type: Schema.Types.ObjectId,
ref: "pizzas"
}
],
collectAt: String,
createdAt: String
});
提前感谢。此问题指的是
类型订单
,而不是输入订单输入
res
对象不包含有效的总计
值