8.3 操作MongoDB數據庫
阿新 • • 發佈:2018-04-30
自動 軟件 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數據庫