簡體   English   中英

在 mongodb 中將 int 數據類型更改為 string

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM