添加一个新字段,包含另一个字段的部分字符串值,与另一个字符串连接
Add a new field, containing part of string value of another field, concated with another string
有了这个items
collection:
{ _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"
}
有了这个items
collection:
{ _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"
}