Mongo查询更新字段并修改当前列中的数据

时间:2017-04-19 20:52:30

标签: mongodb mongodb-query

我正在尝试编写一个更新特定列的Mongo更新查询,并使用该字段中的当前数据对其进行修改。所以而不是:

$set: {
  displayName: 'test'
}

我需要在现有数据上添加一些内容,例如:

$set: {
  displayName: 'test' + displayName
}

但是上面的语法不起作用 - 我只是在寻找语法来简单地将列更新为当前值+'test'。

1 个答案:

答案 0 :(得分:2)

在更新操作中无法引用文档字段。您应该将执行移动到客户端并使用forEach迭代光标:

db.collection.find({ /* your query here */}).forEach(function(doc) {
     db.collection.update({_id: doc._id}, {$set: {displayName: 'test' + doc.displayName}});
})