我正在尝试编写一个更新特定列的Mongo更新查询,并使用该字段中的当前数据对其进行修改。所以而不是:
$set: {
displayName: 'test'
}
我需要在现有数据上添加一些内容,例如:
$set: {
displayName: 'test' + displayName
}
但是上面的语法不起作用 - 我只是在寻找语法来简单地将列更新为当前值+'test'。
答案 0 :(得分:2)
在更新操作中无法引用文档字段。您应该将执行移动到客户端并使用forEach迭代光标:
db.collection.find({ /* your query here */}).forEach(function(doc) {
db.collection.update({_id: doc._id}, {$set: {displayName: 'test' + doc.displayName}});
})