2017-04-19 84 views
1

我正在尝试编写一个Mongo更新查询来更新特定列并使用该字段中的当前数据修改它。因此,而不是:Mongo查询更新字段并修改当前列中的数据

$set: { 
    displayName: 'test' 
} 

我需要追加一些现有的数据,如:

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

但上面的语法不工作 - 我只是在寻找的语法简单地更新列为当前值+'测试'。

回答

2

更新操作中无法引用文档字段。您应该将执行移至客户端并使用forEach

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