nodejs之egg-mongoose與mongodb的浮點型映射問題
mongoose的Schema
mongoose的Schema主要包括:
1.String 字符串
2.Number 數字,包括Int,float,double
3.Boolean bool
4.Array 數組
5.Buffer 二進制
6.Date 時間
7.ObjectId mongodb主鍵一般都是用{_id:Schema.Types.objectId}
mongodb的數據類型
1.String
2.Double
3.Int
4.Boolean
…
mongoose的Number與mongodb的Number類型區別
1.問題
如果mongoose的數據類型爲Number,存的是浮點型例如0.3,雖然包括了浮點型,但是當映射到mongodb中時,如果爲浮點型,會被強制轉換爲NumberInt類型,就變成了0。
2.解決辦法
mongodb和mongoose的Schema都統一爲String類型,然後在代碼中通過Number方法自動轉換。