09 mongoDB基礎(進階)
阿新 • • 發佈:2018-07-07
成功 mov 集合 bsp 數據庫 hang pymongo 多條 場景
階段一、認識mongodb
1、mongodb 組織數據的基本形式
MongoDB————》數據庫————》集合————》文檔
mysql:表:行和列:字段
運用場景:如 送外賣騎手的實時信息、日誌、遊戲人物屬性、微信附近人信息
運用特征:實時變化的 QPS
數據類型:每個文檔以鍵值對的形式儲存
2、進入與退出 數據庫
進入:mongo
退出:exit
階段二、庫,集合操作
1、顯示所有庫:shou dbs
2、切換數據庫:use 數據庫名稱
3、查看所在庫:db
4、刪除庫:db.dropDatabase()
5、查看當前庫裏面的集合:show collections
6、創建集合:db.createCollection(‘student‘)
7、刪除集合:db.集合名稱.drop()
階段三、數據的增刪改查操作
1、插入數據
db.集合名稱.insert(document)
每一條數據,就是一個document,即 就是一條json
插入文檔時,如果不指定_id參數,MongoDB會為文檔分配一個唯一的ObjectId
# 例:插入一條 db.student.insert({name:‘shiwei‘,age:18}) # 插入時加入id db.student.insert({_id:10,name:‘shiwei‘,age:18}) ? # 插入多條: db.student.insert([ {name:‘shiwei‘,sex:‘male‘,age:18}, {name:‘張三‘,sex:’female‘,age:30 }, {name:‘李四‘,sex:’male‘,age:48 }, ])
2、查詢數據
db.集合名稱.find()
# 查詢所有:db.student.find() # 查詢所有、格式會縮進:db.student.find().pretty() # 按條件查詢: > db.student.find({name:‘zcm‘}) { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm", "age" : 22 } {"_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm", "age" : 22 } ? > db.student.find({name:‘zcm‘},{age:1}) { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "age" : 22 } { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "age" : 22 } ? > db.student.find({name:‘zcm‘},{age:0}) { "_id" : ObjectId("5b3789beccd791f53ba27b05"), "name" : "zcm" } { "_id" : ObjectId("5b378bc6ccd791f53ba27b07"), "name" : "zcm" }
3、更新數據
更新數據
db.集合名稱.update(
<query>, (條件)
<update>,
{multi: <boolean>}
? )
# 全文檔更新: db.stu.update({name:’shiwei’},{xx:’yy’ } ) ? # 指定屬性更新,通過操作符$set,有相同的屬性時,只更改一條數據 db.student.update({name:‘zcm‘},{$set:{age:18}}) ? # 更新多條: { multi: ture } 。 (前提只能指定字段更新) db.student.update({name:‘zcm‘},{$set:{age:5}},{multi:true})
4、刪除數據
db.集合名稱. remove(
? <query>, (條件)
<justOne>
? )
# 只是刪除 一條數據 db.student.remove({xx:‘yy‘},{justOne:true}) ? # 刪除滿足條件的,所有數據: db.student.remove({name:‘zcm‘})
階段四、Python操作mongodb
1、連接器(驅動)
安裝python包:pip install pymongo
引入包pymongo:import pymongo
建立連接並創建客戶端: client= pymongo.MongoClient(‘127.0.0.1‘,27017)
指定數據庫:db=client[ 數據庫名 ]
指定集合:stu=db [ 集合名]
2、主要方法
insert_one
insert_many
update_one
update_many
delete_one
delete_many
find_one
find
3、例子
import pymongo ? # 建立連接 client = pymongo.MongoClient(‘127.0.0.1‘, 27017) ? # 獲取要操作的數據庫 db = client[‘student‘] ? # 獲取要操作的集合 col = db[‘student‘] ? data = col.find() print(data) # 打印出了一個對象,證明連接成功了 ? # 插入一條數據 # col.insert_one({‘name‘: ‘zcm‘, ‘age‘: 22}) ? # 插入多條數據 # li = [ # {‘nane‘: ‘zhangsan‘, ‘age‘: 30, ‘sex‘: ‘nan‘}, # {‘nane‘: ‘baby‘, ‘age‘: 18, ‘sex‘: ‘nv‘}, # {‘nane‘: ‘dengchao‘, ‘age‘: 30, ‘sex‘: ‘nan‘} # ] # col.insert_many(li) ? # 更新一條數據 # col.update_one({‘name‘: ‘zcm‘}, {‘$set‘: {‘age‘: 3}}) ? # 更新多條數據 # col.update_many({‘name‘:‘zcm‘},{‘$set‘: {‘age‘:18}}) ? # 查詢一條數據 # find = col.find_one() # print(find) ? # 查詢多條數據 只返回對象 # find_d = col.find() # print(find_d) ? # 刪除一條數據 # col.delete_one({‘name‘:‘zcm‘},{‘justOne‘:‘true‘}) ? # 刪除多條數據 # col.delete_many({‘name‘:‘zcm‘})
09 mongoDB基礎(進階)