ps:javascript
bson 數據: json 手下的敗犬 bson.... 瞭解就好java
即文檔的域名(至關於mysql 中的字段名),表達數據的基本信息mysql
ps:算法
鍵能夠不加引號,值必須加引號,默認就是 utf8類型sql
鍵的存儲的值mongodb
Type Number Alias Notes
Double 1 「double」
String 2 「string」
Object 3 「object」
Array 4 「array」
Binary data 5 「binData」
Undefined 6 「undefined」 Deprecated.
ObjectId 7 「objectId」
Boolean 8 「bool」
Date 9 「date」
Null 10 「null」
Regular 11 「regex」
DBPointer 12 「dbPointer」 Deprecated.
JavaScript 13 「javascript」
Symbol 14 「symbol」 Deprecated.
JavaScript 15 「javascriptWithScope」
32-bit integer 16 「int」
Timestamp 17 「timestamp」
64-bit integer 18 「long」
Decimal128 19 「decimal」 New in version 3.4.
Min key -1 「minKey」
Max key 127 「maxKey」
整形(int) 整數 浮點型(double) 小數 布爾(bool) true/false 字符串(string) "abcdsd" utf-8 格式 數組(array) [1,2,3,40] 列表 時間(date) 日期/時間 binary Data 二進制格式類型 空值(Null) null 空(關鍵字) 對象(object) 內部文檔 ObjecId ID 對象
關於 ObjecId 表示每一個集合本身的一個不會重複的標識 IDjson
輸入:> db.羊駝.find() 輸出: { "_id" : ObjectId("5c76361ab9330b7c152100ff"), "name" : "yangtuo", "age" : 17 }
字段解析:數組
"_id": 表示自動生成的域名,表示主鍵域微信
ObjectId: 由24爲 16位進制碼經過必定算法獲得spa
關於本身自定義:
必需要在鍵值中 用 "_id" 而後手動制定
且,哪怕是本身自定義也不能重複,重複會報錯
1. 一個集合中的文檔儘可能表達相同的數據內容
2. 文檔層次不宜嵌套過多
3. 在集合中文檔使用比較自由,原則上結構能夠各不相同
用戶註冊填寫 qq,微信,微博,ins 要求至少寫一個
mysql 的話就要4個字段,而後必然產生大量的空數據
mongoDB 的話就能夠寫那個就存那個