关于问题的话题更新
来源:13-3 话题-问题多对多关系设计与实现
慕雪9296518
2020-09-24
搞了半天才搞明白到底怎么更新,就是直接在问题的修改接口里面是不是??但是有个问题
{
“topics”:[“5f6bfcd3cec01b3500f49911”,“xxxxxxxxxxxxx”,…]
}
如果是通过request.body来更新的话是不是变得每次都要将之前的话题都给写上才行,既然是数组可不可以直接用push和splice的方法操作,但是好像tcx.paramas.id已经被用来做搜索问题了
async addtopic(ctx){
const question =await Question.findById(ctx.params.id).select(‘topics’);
const { topicid = ‘’} = ctx.query
if(!question.topics.map(id => id.toString()).includes(topicid)){
question.topics.push(topicid);
question.save();
}
ctx.status = 204
}
然后save()我百度半天也没啥有比较详细的文章说明啥时候要用save()操作,只说复杂的结构要用,那之前的删除复杂的嵌套数据也没有说要save()啊,有点迷糊了
写回答
1回答
-
lewis
2020-09-24
除了百度之外,你可以直接看mongoose的文档。
012020-09-24
相似问题