2017-04-19 11 views
1

特定の列を更新し、そのフィールドの現在のデータを使用して修正するMongo更新クエリを作成しようとしています。だから、代わりに:フィールドを更新して現在列にあるデータを変更するMongoクエリ

$set: { 
    displayName: 'test' 
} 

私のような既存のデータに何かを追加する必要があります:

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

しかし、上記の構文は動作しません - 私はただ単に更新する構文を探していますそれを現在の値+ 'test'に変換します。

答えて

2

更新操作でドキュメントフィールドを参照する方法はありません。実行をクライアントに移し、forEachでカーソルを反復する:

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