我正在尝试将卡号的int在mongodb中更改为string。脚本显示已成功执行,但数据类型未更改。请告诉我如何解决此问题。
GiftCardSale
[0]CardNumber
Amount
[1]CardNumber
Amount
db.SalesOrder2.find({"GiftCardSale.$[i].CardNumber": {$exists:true}}).sort({_id:1}).skip(0).limit(100)
.forEach( function(x) {
db.SalesOrder2.update({_id: x._id}, {$set: {"GiftCardSale.$[i].CardNumber":
x.GiftCardSale.$[i].CardNumber.toString()}});
}
);
1条答案
按热度按时间lvmkulzt1#
要在mongodb中更改多个字段的数据类型:
在本例中,我们将字段的数据类型从int更改为string。
1.使用数据库地址登录mongo shell(mongosh)
2.键入mongosh命令:显示dbs到查找你的数据库
3.键入mongosh命令:用于选择要更新的数据库
4.输入如下:
5.bingo!
PS:尖括号中的所有变量/字段,即""中的变量/字段应替换为实际变量/字段名称,例如将变为:
对于其他情况,只需将函数从"toString"更改为其他所需的函数。此外,如果您希望将输入字段类型与其他格式(如字符串)匹配,则需要更改$type:16到$类型:1
对于特定的型号匹配(有一个很棒的图形演示),请查看https://data-flair.training/blogs/mongodb-data-types/