import pymongo #導入操作mongo的模塊
client=pymongo.MongoClient(host='localhost',port=27017) #連接本地的服務端
db=client.school #指定操作的數據庫
collection=db.students #指定操作的集合
插入數據
a1={
'id':5,
'name':'憨憨',
'age':22,
'gender':'男'
}
a2={
'id':5,
'name':'憨憨',
'age':22,
'gender':'男'
}
①
插入一個文檔(3.x不推薦使用了)
collection.insert(a1)
插入多個文檔((3.x不推薦使用了)
collection.insert([a1,a2])
②
插入一個文檔(推薦使用)
collection.insert_one(a1)
插入多個文檔(推薦使用)
collection.insert([a1,a2])
刪除集合中的文檔(數據記錄行)
①remove({query})
刪除的是所有查詢條件的文檔(現在不推薦使用這種方法)
②remove_one({query})
刪除的是查詢條件的文檔的第一個
③remove_many({query})
刪除的是所有查詢條件的文檔(推薦使用這種方法)
如果方法中不傳參數的話,就是把這個集合中(表)所有文檔全部刪除
刪除集合(表)
①drop()
collection.drop()
如果數據庫中只有一個集合時,刪除了最后一個集合,這個數據庫就自動也刪除了
更新數據
①update() ((3.x現在已經不推薦使用了)
不加$set時,只能修改一個查詢文檔(數據記錄行)的域(數據字段),並且是進行覆蓋
result=collection.update({'name':'LEE'},{'age':20})
加了$set時,只修改第一個符合條件的文檔(數據記錄行)的域(數據字段),有這個字段(域)時就是修改,沒有的時候就是添加,其他的已存在的字段(域)不變.
result=collection.update({'name':'憨憨'},{'$set':{'age':20}})
②update_one()
只修改第一個符合條件的文檔(數據記錄行)的域(數據字段),有這個字段(域)時就是修改,沒有的時候就是添加,其他的已存在的字段(域)不變.
修改時必須加上$set,不然會報錯.
③update_many()
修改所有符合條件的結果,有這個字段(域)時就是修改,沒有的時候就是添加,其他的已存在的字段(域)不變.
修改時必須加上$set,不然會報錯.
查詢數據
①find_one({query})
student=collection.find_one({'name':'LEE'})
查找符合條件的第一個文檔,得到的是整個文檔的具體域
②find({query})
查找符合條件的所有文檔,返回的是一個生成器對象.(需要遍歷獲取具體每個文檔的域)