MongoDB簡介
MongoDB數據庫是一種開源的跨平臺的數據庫,主要特點如下:
- 數據存儲沒有模式:每個文檔的模式可以不同,不僅數據類型可以不同,結構也可以不同
- 具有很強的容易擴展性:文檔數據可以被自動分割處理
- 支持高併發書寫:集羣提高讀寫性能,甚至可以建立讀寫分享的集羣服務器
- 支持海量存儲:內置GridFS,支持大容量的分佈式存儲。
python操作MongoDB基本步驟
- 導入pymongo庫
- 用pymongo.MongoClient類連接數據庫
- 用pymongo.MongoClient實例選擇使用指定的數據庫生成數據庫對象
- 用數據庫對象生成集合對象,之後就可以用這個對象來操作數據庫了
例子:python操作mongodb中學生表實例,演示增刪查改
實驗效果
實驗代碼:
from pymongo import MongoClient
def output_all():
stu = collection.find()
for item in stu:
print(item)
if __name__ == '__main__':
print('建立連接...')
client = MongoClient(host='localhost',port=27017)
db = client.test
collection = db.students
students = {'id':'20170101','name':'john','age':20,'gender':'male'}
students1 = {'id':'20170102','name':'Amy','age':20,'gender':'male'}
students2 = {'id':'20170103','name':'Linda','age':20,'gender':'male'}
# 每次運行清空表
print('清空表信息.....')
collection.drop()
# 插入信息
collection.insert_one(students)
collection.insert_many([students1,students2])
stu = collection.find()
# 查找全部
output_all()
print('查找叫做john的....')
# 查詢叫做john的
stu = collection.find({'name':'john'})
for item in stu:
print(item)
print('刪除叫做john...')
stu = collection.delete_one({'name': 'john'})
stu = collection.find()
output_all()
# 修改名字將Amy修改爲Anna
print('修改Amay叫做Anna...')
collection.update_one({'name':'Amy'},{'$set':{'name':'Anna'}})
stu = collection.find()
output_all()