MongoDB-更新所有记录中的字段类型

时间:2019-01-24 13:08:36

标签: mongodb

我有从XLS文件转换的产品集合,并且 它会自动将产品的所有字段设置为字符串。

其中有些必须是int32类型, 我可以在mongo cli中使用什么命令来更新所有记录并将其特定字段从字符串类型更改为int类型?

{
"_id":"5c3f531baf4fe3182cf4f1ea",
"sku":"7.29002E+11",  => needs to be int32
"product_name":"Example",
"product_cost":"9.261", => needs to be int32
"product_price":"42.7", => needs to be int32
"product_quantity":"245", => needs to be int32
"Warehouse":"4", => needs to be int32
"stamps":[]
}

1 个答案:

答案 0 :(得分:0)

从MongoDB 3.4开始,支持通过指定列数据类型将数据从csv文件加载到mongoDB中。 假设我们在csv文件中有以下数据

  

Student1,1990-04-23,F,97,aQDW3qweqwADWDWewed2qewdqeJKKJkDW @ 43343q3weq

     

Student2,1991-03-14,T,30,akjsdkjbHIH76JKSSDtvtv65easvhudJHCGFL?hjgkjbVJHkj $ hjS23

-fields选项指定将数据导入MongoDB时将使用哪种mongoimport字段类型。

mongoimport --db users --collection contacts --type csv --columnsHaveTypes --fields "StudentName.string(),birthdate.date(2006-01-02),Fail.boolean(),Marks.int32(),imagethumbnail.binary(base64)" --file /example/file.csv

Documentation的引用