开发者社区 问答 正文

关于update一个内嵌数组无法达到upsert的效果的问题

现在有这么一个文档, 我希望执行一个update操作,根据studentId 和 noteCounts.noteBookId进行匹配,来更新noteCounts数组, 目的是如果已经存在那么更新, 否则在noteCounts数组中新增一条, 请各位大神赐教
14
我现在的更新语句是 update({'studentId':1, 'noteCounts.noteBookId':2}, {'$push', {'noteBookId':2, 'noteCount' :100 ........}})
但是似乎update的 upsert$push不起作用, 匹配不到是正常新增没问题,但是匹配到了 没有执行更新 而是也新增了一条, 求大神赐教

展开
收起
落地花开啦 2016-02-07 14:33:58 2490 分享 版权
1 条回答
写回答
取消 提交回答
  • 喜欢技术,喜欢努力的人

    `update({'studentId':1, 'noteCounts.noteBookId':2},
    {'$set',{noteCounts.$: {'noteBookId':2, 'noteCount' :100 ........}}})`试试

    2019-07-17 18:39:05
    赞同 展开评论
问答地址: