![](/img/trans.png)
[英]Change datatype from int64 to string in mongodb for nested array
[英]Change int datatype to string in mongodb
我正在嘗試將 CardNumber 的 mongodb 中的 int 更改為字符串。腳本顯示執行成功但數據類型沒有改變。請告訴我如何解決此問題。
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()}});
}
);
要更改 mongodb 中的多個字段數據類型:
在這種情況下,我們將字段數據類型從 int 更改為 string。
1.用數據庫地址登錄mongo shell(mongosh)
2.鍵入 mongosh 命令:show dbs 來查找你的數據庫
3.type mongosh 命令:使用 select 要更新的數據庫
4.輸入如下:
db.<dbname>.updateMany(
{ <field> : { $type: 16 } },
[{ $set: { <field>: { $toString: "$<field>" } } }]
)
5.賓果游戲!
PS:尖括號中的所有變量/字段,“”中的 AKA 應替換為您的實際變量/字段名稱,例如將變為:
db.mydatabase.updateMany(
{ myfield : { $type: 16 } },
[{ $set: { myfield: { $toString: "$myfield" } } }]
)
對於其他情況,只需將 function 從“toString”更改為您想要的其他功能即可。 此外,如果你想將輸入字段類型與其他格式(如字符串)匹配,你需要將 $type: 16 更改為 $type: 1
對於特定的類型編號匹配(帶有很棒的圖形演示),請查看以下https://data-flair.training/blogs/mongodb-data-types/
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.