我的graphql解析器有以下查询:
setFeatured: async function ({ id }, req) {
const post = await Post.findById(id)
const posts = await Post.where('_id').ne(id)
post.featured = true
await post.save()
posts.forEach(pst => {
pst.featured = false
await post.save()
})
return true
}
使用上面的代码片段,我想将用户未选择的帖子的状态设置为false,反之亦然。
但是我的控制台出现此错误
语法错误:等待仅在异步功能中有效
指向forEach循环内的行await post.save()
。
如何为每个帖子运行此save()
查询?
答案 0 :(得分:0)
您还需要将异步传递给传递给forEach的回调。
[Amazon](500310) Invalid operation: HTTP 416. Check your arguments and try again.;
一种与您不同的方法,如果在任何给定时间只有一个特色帖子,则可以将特色字段与帖子分开,并有一个记录来保留帖子ID。