1. 程式人生 > >8.3 操作MongoDB數據庫

8.3 操作MongoDB數據庫

自動 軟件 ont host nts 解決 zha 結果 用法

  一項權威調查顯示,在大數據時代軟件開發人員必備的十項技能中MongoDB數據庫名列第二,僅次於HTML5。MongoDB是一個基於分布式文件存儲的文檔數據庫,可以說是非關系型(Not Only SQL,NoSQL)數據庫中比較像關系型數據庫的一個,具有免費、操作簡單、面向文檔存儲、自動分片可擴展性強、查詢功能強大等特點,對大數據處理支持較好,旨在為Web應用提供可擴展的高性能數據存儲解決方案。MongoDB將數據存儲為一個文檔,數據結構由鍵值(key -> value)對組成。MongoDB文檔類似於JSON對象。字段值可以包含其他文檔、數組和文檔數組。

  MongoDB數據庫可以到官網下載,安裝教程可以自行百度。

  Python擴展庫pymongo完美支持MongoDB數據的操作,可以使用pip命令進行安裝。下面的代碼演示了pymongo操作MongoDB數據庫的一部分用法,算是拋磚引玉吧,更多的用法可以學習使用Python的利器dir()和help()來獲得,或者查閱MongoDB官方文檔。

 1 import pymongo                #導入模塊
 2 
 3 client = pymongo.MongoClint(localhost,27017)    #連接數據庫,27017是默認端口
 4 db = client.students                              #
獲取數據庫 5 db.collection_names() #查看數據集合名稱列表 6 students = db.students #獲取數據集合 7 students.find() 8 9 for item in students.find(): #遍歷數據 10 print(item) 11 12 wangwu={name:Wangwu,age:20,sex:male} 13 students.insert(wangwu) #
插入一條記錄 14 for item in students.find({name:Wangwu}): #指定查詢條件 15 print(item) 16 17 students.find_one() #獲取一條記錄 18 students.find_one({name:Wangwu}) 19 students.find().count() #獲取記錄總數 20 students.remove({name:Wangwu}) #刪除一條記錄 21 22 students.create_index((name,pymongo.ASCENDING)) #創建索引 23 24 students.update({name:Zhangsan},{$set:{age:25}}) #更新數據庫 25 26 students.remove() #清空數據庫 27 28 Zhangsan = ‘‘ 29 Lisi = ‘‘ 30 Wangwu = ‘‘ 31 students.insert_many([Zhangsan,Lisi,Wangwu]) #插入多條數據 32 33 for item in students.find().sort(name,pymongo.ASCENDING): #對查詢結果排序 34 print(item) 35

8.3 操作MongoDB數據庫