python與mongodb的交互

@安裝並引入依賴

  • 蟒蛇與MongoDB中的交互可以通過第三方類庫pymongo實現;
  • pymongo的安裝及引入:
pip3 install pymongo
  • 1
import pymongo
  • 1

@一般訪問流程

  • 建立的Python到的MongoDB的連接;
  • 指定要訪問的數據庫和集合;
  • 通過集合執行MongoDB的指令;
  • 結果的二次處理與輸出;
  • 斷開連接;



# 連接MongoDB數據庫
conn = pymongo.MongoClient(
    # 配置主機和端口
    host="localhost", port=27017
)

# 指定要操作的數據庫名
db = conn.mydb
# 指定要操作的集合名
collection = db.student
@添加數據
# 插入一個數據文檔
collection.insert(
    {"name": "sirouyang", "age": 18, "gender": 1, "address": "廣州市", "isDelete": 0}
)
# 插入多個數據文檔
collection.insert([
    {"name": "小馬哥", "age": 50, "gender": 1, "address": "大深圳", "isDelete": 0},
    {"name": "jackma", "age": 55, "gender": 1, "address": "杭州市", "isDelete": 0}
])
print("插入成功!")
@查詢數據# 查詢文檔個數ret = collection.find().count()print(ret)# 查詢全部ret = collection.find()# 查詢年齡大於18的數據ret = collection.find(    {"age": {"$gt": 18}})# 查詢年齡大於18且家住北京的數據ret = collection.find(    {        "age": {"$gt": 18},        "address": "北京"    })# 查詢年齡大於40的,或30以下的硅谷人士ret = collection.find(    {        "$or": [            {"age": {"$gt": 40}},            {"age": {"$lt": 30}, "address": "硅谷"}        ]    })# 查詢結果按姓名降序排列ret = collection.find().sort("name", pymongo.ASCENDING)# 取前5個文檔ret = collection.find().limit(5)# 查詢第二頁的三個文檔ret = collection.find().skip(3).limit(3)for item in ret:    print(type(item), item)
@修改數據
# 執行更新:查詢姓名爲jobs的文檔,姓名修改爲"Steve Jobs",年齡減小20歲ret = collection.update(    {"name": "jobs"},    {        "$set": {"name": "Steve Jobs"},        "$inc": {"age": -20}    })
@刪除某個或多個列、內嵌數組內的字段
db.good.update({},{$unset:{"textureName":""}},{multi:true})
db.good.update({},{$unset:{"textureName":"","describe":""}},{multi:true})
db.stu.update({},{$unset:{"addr.state":""}},{multi:true}


@刪除數據# 移除文檔:移除年齡在55以上的文檔數據ret = collection.remove( {"age": {"$gt": 55}})# 關閉連接conn.close()轉載自https://blog.csdn.net/u010986776/article/details/79750436

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章