【发布时间】:2019-08-20 06:40:49
【问题描述】:
我想知道为什么当我执行我的突变时我的响应是“null”。
我的查询有效:当我执行请求时,数据库 SQL 中的状态 is_active 变为 true 或 false。
当我创建时,我有一个正确的响应,但不是在更新。
Graphql 请求:
mutation {
updateSequence(id: 4, , input: {is_active: true}) {
is_active
}
}
回应:
{
"data": {
"updateSequence": {
"is_active": null
}
}
}
resolvers.js
Mutation : {
createSequence(_, {input}) {
return models.Sequence.create(input);
},
updateSequence(_, {id, input}) {
return models.Sequence.update(input, {where: {id: id}});
}
}
schema.js
# Sequence
type Sequence {
id: Int!,
code: String,
buckets: [Bucket],
sequence_types : [SequenceType]
is_active: Boolean,
}
# SequenceInput
input SequenceInput {
is_active: Boolean
}
...
type Query {
sequences: [Sequence]
sequence(id: Int): Sequence
}
type Mutation {
createSequence(input: SequenceInput): Sequence,
updateSequence(id: ID!, input: SequenceInput): Sequence
}
schema {
query: Query,
mutation: Mutation
}
已解决:将 MySQL 迁移到 Postegres 以使用返回选项(仅限 Postegres)
我迁移我的数据库以使用 Sequelize 的返回选项。
createSequence(_, {input}) {
return models.Sequence.create(input);
},
updateSequence(_, {id, input}) {
return models.Sequence.update(input, {where: {id: id}, returning: true}).then((sequence) => {
return sequence[1][0].dataValues;
});
},
【问题讨论】:
-
您能否提供您的架构,以了解它应该返回什么?
-
当然@MarcoDaniels !我更新了我的帖子
标签: mysql node.js graphql sequelize.js apollo-server