2016-11-18 16 views
0

に私のコレクションのドキュメント連結方式の名前と値monogdb

{ 
    "_id": 1, 
    "location": "New York", 
    }, 
    { 
    "_id": 2, 
    "location": "New Jersey", 
    } 

は、私は私の名前と値をCONCATと、このような何かを出力を生成することができ、=私はそのことはできないと思いますが、そこにいる場合は、任意の回避策は

を助けてください
{ 
    "_id": 1, 
    "New York location": "New York", 
    }, 
    { 
    "_id": 2, 
    "New Jersey location": "New Jersey", 
    } 

Thankuがあれば助け

+1

興味があるだけだろうこの? – styvane

+0

名前を変更するコマンド:db.collection.update({}、{$ rename:{'location': 'New York location'}}、false、true); – Sam

答えて

0

これは、クエリで達成することはできませんが、確実にシェルスクリプトによって達成することができる

db.collection.find({'location':{$exists : true}}).forEach(function(doc){var newField = 
    doc.location+" location";db.collection.update(doc,{$rename :{'localtion':newField}});}) 

あなたのコレクションは本当に大きいです、あなたはメモリの問題を抱えている場合は、あなたが制限複数の時間を使うことができ

db.collection.find({'location':{$exists : true}}).limit(1000).forEach...... 

あなたが必要なのですか、なぜ、同じプロセスの別の変形は

db.collection.find({'location':{$exists : true}}).forEach(function(doc){var newField = 
    doc.location+" location"; doc[newField]=doc.location; delete doc.location; 
    db.collection.save(doc);}) 
関連する問題