Python操作MongoDB


python操作MongoDB說明:
    1.pip install pymongo
    2.連接MongDB數據庫

import pymongo
myclient=pymongo.MongoClient(host='127.0.0.1',port=27017)   #指定主機和端口號創建客戶端
mydb=myclient['dbtest']#數據庫使用
 mycol=mydb['t1']#表(集合)使用

    3.集合操作:

        增:         

(1)insert_one()----單條插入
    db.collection.insert_one({})
(2)insert_many()----多條插入
    db.collection.insert_many([{},{}...])

        查:         

(1)find()----查詢符合條件的所有數據
    db.collection.find(查詢條件)
(2)find_one()----查詢符合跳進的第一條數據
    db.collection.find_one(查詢條件)

            查詢關鍵字             

(1)$and----並列查詢
        db.collection.find({'$and':[{},{}...]})
(2)$or----或條件查詢
        db.collection.find({'$or':[{},{}...]})
(3)$in----范圍查詢
        db.collection.find({field:{'$in':['',''...]}})
(4)$all----子集查詢
        db.collection.find({field:{'$all':['',''...]}})

            查詢條件操作符             

(1)$lt----小於
        db.collection.find({field:{'$lt':value}})
(2)$gt----大於
        db.collection.find({field:{'$gt':value}})
(3)$eq----等於
        db.collection.find({field:{'$eq':value}})
(4)$lte----小於等於
        db.collection.find({field:{'$lte':value}})
(5)$gte----大於等於
        db.collection.find({field:{'$gte':value}})
(6)$ne----不等於
        db.collection.find({field:{'$ne':value}})

    數據排序+跳躍+范圍: 

(1)sort(filed,pymongo.ASCENDING/pymongo.DESCENDING)----對查詢結果升序/降序排序
        db.collection.find({}).sort()
(2)skip(num)----對查詢結果進行跳躍取值
        db.collection.find({}).skip()
(3)limit(num)----對查詢結果進行范圍截取
        db.collection.find({}).limit()
(4)優先級:sort>skip>limit,與使用時的順序無關
        db.collection.find({}).sort().skip().limit()
        db.collection.find({}).limit().sort().skip()
        db.collection.find({}).skip().sort().limit()
 改:         
(1)update_one()----修改查詢結果的第一條數據
    db.colleciton.update_one({查詢條件},{$修改器:{修改值}})
(2)update_many()----修改查詢結果所有數據
    db.colleciton.update_many({查詢條件},{$修改器:{修改值}})

           `$`修改器及`$`特殊用法:             

(1)$set----修改某個字段的值
        db.colleciton.update_one({'name':'c','age':20},{'$set':{'hobby':['swim,dump','sing']}})
(2)$unset---刪除字段
        db.colleciton.update_one({'$and':[{'name':'c'},{'age':20}]},{"$unset":{'hobby':[1,2]}})
(3)$inc----引用增加(先引用 后增加)
        db.colleciton.update_many({'name':{'$in':['d','e','f']}},{'$inc':{'age':2}})
(4)針對數組操作:
    ①$push----在Array的最后一個位置中增加一個數據
        db.colleciton.update_one({'name':'b'},{'$push':{'hobby':['swim','sing']}})
    ②$pushAll----在Array的最后一個位置中增加多個數據
        mycol.update({'name':'c'},{'$pushAll':{'hobby':['sing','scrapy']}})#實際測試無法使用,報錯:Unknown modifier: $pushAll
    ③$pull ----刪除Array中的指定單個元素
        .update_one({'hobby':'run'},{'$pull':{'hobby':'eat'}})
    ④$pullAll ----刪除Array中的指定多個元素
        mycol.update_many({'name':'b'},{'$pullAll':{'hobby':['swim','play']}})#實際測試每次只刪除一個元素
    ⑤$pop----刪除Array中的第一個或者最后一個元素 正數是倒序刪除 負數是正序刪除
        db.colleciton.update_many({'hobby':'run'},{'$pop':{'hobby':1}})
    ⑥$----存儲當前(Array)符合條件的元素下標索引 ,只能存儲最外層的 索引位置
        db.colleciton.update_many({'hobby':'run'},{'$set:{'hobby.$':'swim'}})

        刪:         

(1)delete_one()----刪除查詢結果的第一條數據
    db.colleciton.delete_one(查詢條件)
(2)delete_many()----刪除查詢結果的所有數據
    db.colleciton.delete_many(查詢條件)

 相關資料學習: 

菜鳥教程:https://www.runoob.com/python3/python-mongodb.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM