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

时间:2016-01-07 15:32:52

标签: mongodb monk

我有一个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()单独调用数据库?

1 个答案:

答案 0 :(得分:2)

在Mongo 3.2或更低版本中仍然无法做到这一点,例如查看这些JIRA门票:

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