添加一个新字段,包含另一个字段的部分字符串值,与另一个字符串连接

Add a new field, containing part of string value of another field, concated with another string

有了这个itemscollection:

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

我想为每个文档添加一个名为 itemImageThumb 的新字段,它将具有修改后的字符串 itemImage - 例如对于第一个文档,它将是 picture1_thumb.jpg.

我正在寻找一种在 Mongo CLI 中执行此操作的方法。

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"
}