我正在使用GraphQL和Sequelize,並且我有一個返回null的變異。GraphiQL返回nil變異
我試過用不同的幾種方法改變有關突變的解析器,但是當我用GraphiQL對它進行測試時,它總是返回null。
繼承人寫在幾個不同的方式解析:
1 - 起初,我有想法,添加保鮮功能的承諾。
resolve(root, args) {
return new Promise((resolve, reject) => {
db.record.findOne({ where: { UID: args.UID } })
.then(record => {
let newArr = undefined
if (record.watched == null) {
newArr = [args.value]
} else {
let old = record.watched
newArr = old.concat([args.value])
}
db.record.update({ watched: newArr }, { where: { UID: args.UID } })
.then(record => {
resolve(record)
})
})
})
}
2 - 在這裏,我回復了一個承諾。
resolve(root, args) {
db.record.findOne({ where: { UID: args.UID } })
.then(record => {
let newArr = undefined
if (record.watched == null) {
newArr = [args.value]
} else {
let old = record.watched
newArr = old.concat([args.value])
}
return db.record.update({ watched: newArr }, { where: { UID: args.UID } })
})
}
3 - 下面我剛剛直接返回記錄。
resolve(root, args) {
db.record.findOne({ where: { UID: args.UID } })
.then(record => {
let newArr = undefined
if (record.watched == null) {
newArr = [args.value]
} else {
let old = record.watched
newArr = old.concat([args.value])
}
db.record.update({ watched: newArr }, { where: { UID: args.UID } })
.then(record => {
return record
})
})
}
數據庫在任何這些情況下是否得到更新?或者甚至沒有像預期的那樣發生? –
數據庫確實得到更新 –