收藏
回答

update更新时,如何引用其他字段的值?

const totalWeight = 10000;
// 数据库中有如下记录:
{
  "_id""6d9dd8625e0eb4c9012e8b1f7a865b86",
  "sign_ok"true,
  "times"2.0200103e+07,
  "weight"0.44591564532418015,
  "tick"0
}

现在要更新这条记录,将tick更新为 weight * totalWeight的值,如何做到?


回答关注问题邀请回答
收藏

5 个回答

  • 禾店短剧系统
    禾店短剧系统
    2021-06-08

    不能。

    只能读出来,再写回去。


    2021-06-08
    有用 1
    回复
  • 老张
    老张
    2020-01-03

    暂不支持。

    建议用aggregate在读的时候计算并添加这个字段。

    2020-01-03
    有用 1
    回复 5
    • 121
      121
      2020-01-03
      可以方法可,不过还是要执行再一次update操作吧
      2020-01-03
      回复
    • 光哥
      光哥
      2020-01-03
      下面这个是同样的问题,是不是也没有解决?
      https://developers.weixin.qq.com/community/develop/doc/0004e6352f0e2078c399c10985bc00
      2020-01-03
      回复
    • 光哥
      光哥
      2020-01-03
      好绝望。。。我要更新100000+的记录,都取出来再放回去吗?
      2020-01-03
      回复
    • 光哥
      光哥
      2020-01-03
      我是新手哈,请问,是不是mangoDb里面可以用的方法,云函数里面也能用?
      2020-01-03
      回复
    • 老张
      老张
      2020-01-03回复光哥
      不是。mongo刚好支持你的需求,但是云开发暂不支持。
      2020-01-03
      回复
  • 袖纳乾坤
    袖纳乾坤
    2023-11-14

    距离这个提问已经过去快四年了,我现在也遇到这个问题了,请问现在还是不支持吗?

    2023-11-14
    有用
    回复
  • 向着光亮奔驰
    向着光亮奔驰
    2021-01-14

    确实,不能在原有值上追加内容。只能在查询的时候改变字段的值。


    2021-01-14
    有用
    回复
  • 郑旭东
    郑旭东
    2020-01-04

    让你当初设计数据结构时不考虑周全!哈哈哈。我也绝望过几次,幸好还在项目初期数据量小。

    2020-01-04
    有用
    回复 2
    • 光哥
      光哥
      2020-01-04
      谁知道这么常用一个功能,居然没有??
      2020-01-04
      回复
    • 郑旭东
      郑旭东
      2020-01-04回复光哥
      后面还有坑,最近发现联表查询lookup只能查询,不能直接做update操作
      2020-01-04
      回复
登录 后发表内容
问题标签