1. 程式人生 > >09 mongoDB基礎(進階)

09 mongoDB基礎(進階)

成功 mov 集合 bsp 數據庫 hang pymongo 多條 場景

mongoDB基礎

階段一、認識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基礎(進階)