1. 程式人生 > >mongodb批量新增某列和批量修改某列的資料型別

mongodb批量新增某列和批量修改某列的資料型別

1、批量向jd這個文件新增操作屬性為state 值為0的列 這裡預設為double型別

db.jd_goods_code.update(
    {"state" : {$exists : false}},
    {"$set" : {"state" : 0}},
    false,
    true
)

2、批量更新state(double)的資料型別為Int32,
type:1表示 double 型別
new NumberInt(x.state)表示修改state為int32位

db.jd.find({"state":{$type:1}}).forEach( 
    function(x
){ x.state=new NumberInt(x.state); db.jd_goods_code.save(x); } );

具體的資料型別對應值如下

型別    數字     備註
Double    1     雙精度浮點數 - 此型別用於儲存浮點值
String    2     字串 - 這是用於儲存資料的最常用的資料型別。MongoDB中的字串必須為UTF-8
Object    3     物件 - 此資料型別用於嵌入式文件
Array     4     陣列 - 此型別用於將陣列或列表或多個值儲存到一個鍵中
Binary data
5 二進位制資料 - 此資料型別用於儲存二進位制資料 Undefined 6 已廢棄 Object id 7 物件ID - 此資料型別用於儲存文件的ID Boolean 8 布林型別 - 此型別用於儲存布林值(true / false)值 Date 9 日期 - 此資料型別用於以UNIX時間格式儲存當前日期或時間。可以通過建立日期物件並將日,月,年的日期進行指定自己需要的日期時間 Null 10 Null - 此型別用於儲存Null值 Regular 11 正則表示式 - 此資料型別用於儲存正則表示式 JavaScript 13
程式碼 - 此資料型別用於將JavaScript程式碼儲存到文件中 Symbol 14 符號 - 該資料型別與字串相同;但是,通常保留用於使用特定符號型別的語言 JavaScript (with scope) 15 程式碼 - 此資料型別用於將帶作用域的JavaScript程式碼儲存到文件中 32-bit integer 16 32位整型 - 此型別用於儲存數值 Timestamp 17 時間戳 - 當文件被修改或新增時,可以方便地進行錄製 64-bit integer 18 64位整型 - 此型別用於儲存數值 Min key 255 最小鍵 - 此型別用於將值與最小BSON元素進行比較 Max key 127 最大鍵 - 此型別用於將值與最大BSON元素進行比較