关于问题的话题更新

来源: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的文档。

0
1
慕雪9296518
两个都找过了确实没有,麻烦您抽出宝贵时间解释一下
2020-09-24
共1条回复

Node.js仿知乎服务端-深入理解RESTful API

Koa2+MongoDB+Postman+JWT+阿里云

952 学习 · 331 问题

查看课程