1、一波三折。百度2天。。。。。差点放弃了,我还以为mongoose的问题。
2、我知道你可能报很多错,换了findByIdAndUpdate什么之类的其他方法。
3、博主egg-mongoose ^ 3.3.1版本(如果你版本和博主一样,那egg用的就是mongoose 的5.10.9,所以你要去看5.x的文档,不是看6x的懂了?!)
1、update的query一样可以用{_id:"631044f4f1834a13800055d2"}来作为赛选条件,没问题的
2、你不是非用findByIdAndUpdate不可
3、upData 要更新的数据 里,你一样是可以用$set的
4、博主博客地址,雪狼之夜的博客_CSDN博客-vue,eggjs,js领域博主,你如果在其他地方看到一模一样的文章就代表本博文被爬。关注博主,专踩egg相关的坑。
1、假设如下一段更新代码
await m.ctx.model.ABoss.update({_id:"631044f4f1834a13800055d2"},{$set:{"user":[2,3555]}},{ new: true })
你先去看看你/app/model/a_boss.js这个model的js
这个user字段定义没、类型对不对,你没定义或者类型不对,你更新都会不报错,和没反应的。很多人想试
user:{type:Array}
2、如果你用findByIdAndUpdate写的,来代码如下,一定可以用,不能用就是你没注意看我上面的辟谣部分
- m.ctx.model.ABoss.findByIdAndUpdate("631044f4f1834a13800055d2",{"user":[1,2]},{ new: true }).then((err,res)=>{
- // debugger
- })
多的我也不说了,你只要记住,我这两段代码一定可以用,如果你版本和我一样,但是还不能跑,你最好看看你的model.js是不是没加关键字或者类型错了。
博主原创,如转载附上本博文链接谢谢。