【发布时间】:2018-07-04 07:37:54
【问题描述】:
我想对专辑进行更新突变,但在获取更新和获取返回值时遇到问题。
模式猫鼬:
var AlbumSchema = new Schema({
name: String,
dateCreated: { type: Date, default: Date.now },
dateUpdated: { type: Date, default: Date.now }
});
GraphQL 类型:
const AlbumType = new GraphQLObjectType({
name: 'Album',
fields: () => ({
id: {type:GraphQLID},
name: {type:GraphQLString},
dateCreated: {type: GraphQLString},
dateUpdated: {type: GraphQLString}
})
})
更新突变:
updateAlbum: { //STILL TRYING TO GET TO WORK
type: AlbumType,
args: {
id: {type: new GraphQLNonNull(GraphQLString)},
name: {type: new GraphQLNonNull(GraphQLString)}
},
resolve(parentValue, args){
return new Promise((resolve, reject) => {
ALBUM.findOneAndUpdate(
{id: args.id},
{name: args.name},
//{dateUpdated: Date.now()}
).exec((err, res) => {
if(err) reject(err)
else resolve()
})
})
}
}
测试突变:
mutation {
updateAlbum(id:"5a695c586c050802f182270c", name: "album 333"){
id
name }}
测试突变的反应:
{
"data": {
"updateAlbum": null
}
}
问题:
updateAlbum函数应该怎么写?(不太重要)如何添加
Date.now()以获得新的dateUpdated:值?我如何获得返回值,或者我可以获得不是
updateAlbum: null的响应是什么?谢谢!
【问题讨论】:
标签: node.js mongodb express mongoose graphql