2015-01-06 41 views
0

有了這個items收集concated:添加一個新的領域,包含另一個字段的字符串值的一部分,與另一個字符串

{ _id: ###, itemImage: "picture1.jpg" } 
{ _id: ###, itemImage: "picture2.jpg" } 
{ _id: ###, itemImage: "picture3.jpg" } 

我想添加一個新的領域對每個文檔,稱爲itemImageThumb,這將有修改後的字符串itemImage - 例如對於第一個文檔,它將是picture1_thumb.jpg

我正在尋找一種方法在Mongo CLI中執行此操作。

回答

3
db.items.find().forEach(function(item){ 
    var index = item.itemImage.indexOf(".");  
    var old = item.itemImage; 
    var thumb = old.substring(0, index) + "_thumb" + old.substring(index, old.length); 

    //if you want add a filed 
    db.items.update({_id : item._id}, {$set : {thumb: thumb}}) 
}) 

輸出將是:

/* 0 */ 
{ 
    "_id" : 0, 
    "itemImage" : "picture1.jpg", 
    "thumb" : "picture1_thumb.jpg" 
} 

/* 1 */ 
{ 
    "_id" : 1, 
    "itemImage" : "picture2.jpg", 
    "thumb" : "picture2_thumb.jpg" 
} 

/* 2 */ 
{ 
    "_id" : 2, 
    "itemImage" : "picture3.jpg", 
    "thumb" : "picture3_thumb.jpg" 
} 
相關問題