本文主要講解Mongodb的類型轉換。包括:string轉double, string轉int, string轉Date。mongodb
ES導入數據到Mongo後,會出現類型統一改成String的問題。
傳統關係型數據庫,在設計表處,右鍵就能夠完成修改表類型。
可是非關係型數據庫,沒有這種實現。只有經過命令行操做實現。
驗證代表,能夠經過以下的接口進行修改。shell
//string轉爲double類型
db.law.find().forEach( function (x) { x.state = parseInt(x.state); db.law.save(x); }); //string轉爲int類型
db.law.find().forEach( function (x) { x.ise= NumberInt (x.ise); db.law.save(x); }); //string轉化爲date類型
db.law.find().forEach( function (x) { x.eift = new ISODate(x.eift); db.law.save(x); });
[root@Node-C6 mongo_process]# cat ./mongo_uopdate.sh #!/bin/sh mongo data <<\EOF db.law.find().forEach( function (x) { x.state = parseInt(x.state); x.id= NumberInt(x.id); x.eift = new ISODate(x.eift); x.ctime = new ISODate(x.ctime ); x.pt= new ISODate(x.pt); db.law.save(x); }); EOF
[root@Node-C6 mongo_process]# ./mongo_uopdate.sh MongoDB shell version: 3.2.7 connecting to: data bye
參考:
https://glassonionblog.wordpress.com/2014/05/15/mongodb-changing-column-names-and-column-types/數據庫