使用 MongoDB 字段的值更新另一个字段

Using the value of a MongoDB field to update another field

我有一个 MongoDB 文档,其结构如下:

{
    testValue: 10,
    maxValue: 20
}

我想将 testValue 设置为 0 到 maxValue 之间的任意整数值。理想情况下,我会做这样的事情:

db.collection.update(
    {},
    {
        $set: { 'testValue': newValue },
        $min: { 'testValue': 0 },
        $max: { 'textValue': $maxValue }
    }
)

但这显然行不通。有一些与此问题相关的线程(例如 Update MongoDB field using value of another field),但它们都是几年前的,我在官方文档中找不到相关信息。有没有办法做我想做的事,还是我必须使用 find() 来获取 maxValue 然后使用 update() 单独调用数据库?

这在 Mongo 3.2 或更低版本中仍然不可能,例如检查这些 JIRA 票证:

  1. Self referential updates
  2. Allow update to compute expressions using referenced fields