python中MongoDB快速介紹

1.關係型和非關係型的介紹  mongodb

 relational    關係型                                 數據庫

  關係數據庫很強大,可是他並不能很好的應付全部的應用場景。MySQL的擴展性查,大數據IO壓力大,表結構更改困難數組

  MongoDB   非關係型服務器

   易擴展,大數據量高性能,靈活的數據模型,高可用app

2.mongodb的優點性能

  ①易擴展:NoSQL數據庫種類繁多,可是一個共同特色都是去掉關係數據庫的關係型特性。數據之間無關係,這樣就很是容易擴展大數據

  ②大數據量,高性能:NoSQL數據可都具備很是高的讀寫性能,尤爲在大數據量下,一樣表現優秀。這得益於他的無關係性,數據可的結構簡單進程

  ③靈活的數據模型:NoSQL無需事先爲要存儲的數據創建字段,隨時能夠存儲定義的數據格式。而在關係數據庫裏,增刪字段是一件很是麻煩的事情。若是是很是大數據量的表,增長字段簡直就是一個噩夢。ip

3.mongodb安裝rem

  下載地址:

  https://www.mongodb.com/download-center/community

  必定要下載zip文件

  解壓後放到c:\MongoDB

4.客戶端mongo

  啓動本地客戶端:mongo

  查看幫助:mongo -help

  退出:exit或者ctrl+c

5.關於database的基礎命令

查看當前數據庫:db

查看全部的數據庫:show dbs /show databases

切換數據庫:use db_name

刪除當前數據庫:db.dropDatabase()

6.關於集合的基礎命令

不手動建立集合:向不存在的集合中第一次加入數據時,聚合會被建立出來

手動建立集合:

  db.createCollection(name,options)

  db.createCollection("student")

db.createCollection("sub",{capped:true,size:10})

參數capped:默認值爲false,表示不設置上線,值爲true表示設置上線

參數size:當capped值爲true時,須要制定此參數,表示上線大小,當文檔 達到上線時,會將以前的數據覆蓋,單位爲字節

  查看集合:show collections

  刪除集合:db.集合名稱.drop()

7.數據類型

  object ID:文檔ID

string:字符串,最經常使用,必須是有效地UTF-8

Boolean:存儲一個布爾值,true或false

integer:整數能夠是32位或64位,這取決於服務器

double:存儲浮點數

arrays:數組或列表,多個值存儲到一個鍵

object:用於嵌入式的文檔,即一個值爲一個文檔

null:存儲null值

timestamp:時間戳,表示從1970-1-1到如今的總秒數

date:存儲當前日期或時間的UNIX時間格式

注意點:

  ①建立日期語句以下:參數的格式爲YYY-MM-DD

    new Date("2017-12-20")

  ②每一個文檔都有一個屬性,爲_id,保證每一個文檔的惟一性

  ③能夠設置_id插入文檔,若是沒有提供,那麼mongoDB爲每一個文檔提供了一個獨特的_id,類型爲objectID

  ④objectID是一個12字節的十六進制數前四個字節爲當前的時間戳,接下來字節的機器ID,接下來兩個字節中mongoDB的服務進程id,最後三個字節是簡單的增量值

8.

①插入:db.集合名稱.insert(document)

插入文檔時,若是不指定——id參數,mongoDB會爲文檔分配一個惟一的objectID

②保存:db.集合名稱.save(ocument)

若是文檔_id已經存在則修改,若是文檔的_id不存在則添加

③簡單的查詢:db.集合名稱.find()

④更新:db.集合名稱.update(<query>,<update>,{multi:<boolean>})

  參數query:查詢條件

  參數update:更新操做符

  參數multi可選:默認是false,表示只更新找到第一條記錄,值爲true,表示吧安祖條件的文檔所有更新

  db.student.update({name:"hr"},{name:"mnc"})更新一條

  db.student.update({name:"hr"},{$set:{name:"hys"}})更新一條

  db.studnt.update({},{$set:{gender:0},{multi:true}})更新所有

⑤刪除:db.集合名稱.remove(<query>,<justOne:<boolean>>)

  參數query:可選,刪除的文檔的條件

  參數justOne:可選,若是設爲true或1,則只刪除一條,默認爲false,表示刪除多條

⑥數據查詢:方法find():查詢

  db.集合名稱.find(條件文檔)

  方法findOne():查詢,只返回第一個

  db.集合名稱.findOne(條件文檔)

  方法pretty():將結果格式化

  db.集合名稱.find({條件文檔}).pretty

相關文章
相關標籤/搜索