【Python】對數據庫MongoDB進行增刪查改

參考:Python MongoDB | 菜鳥教程

# coding:utf-8
import pymongo
# 連接mongod
myclient = pymongo.MongoClient("mongodb://localhost:27017/")

# 列出所有數據集
dblist = myclient.list_database_names()
print('列出所有數據集:', dblist)
# 選擇數據集
mydb = myclient["test_mongod"]

# 列出該數據集的所有集合
collist = mydb.list_collection_names()
print('列出該數據集的所有集合:', collist)
# 選擇數據集的集合
mycol = mydb["sites"]

# 向該集合中插入內容,若已經存在,則不插入
id = 'www.baidu.com1'
time = "2020-1-2"
mydict = {"id": "{}".format(id), "pull_time": time}
mydoc = mycol.find_one(mydict)
if (mydoc != None):
    print('已存在', mydict)
else:
    print('不存在準備插入', mydict)
    mycol.insert_one(mydict)

# 查看集合所有內容
for x in mycol.find():
    print(x)

print('')
# 修改內容
myquery = {"id": "www.baidu.com"}
# 改爲以下內容
newvalues = {"$set": {"id": "12345"}}
# 更新第一個匹配到的
mycol.update_one(myquery, newvalues)
# 更新所有匹配的數據
x = mycol.update_many(myquery, newvalues)

# 刪除單個文檔
myquery = {'id': 'www.baidu.com1', 'pull_time': '2020-1-2'}
mydoc = mycol.delete_one(myquery)
# 刪除多個文檔
myquery = {"id": '12345'}
x = mycol.delete_many(myquery)
print(x.deleted_count, "個文檔已刪除")
# 刪除所有文檔
x = mycol.delete_many({})
print(x.deleted_count, "個文檔已刪除")

# 查看集合所有內容
for x in mycol.find():
    print(x)

# 刪除整個集合
mycol = mydb["sites"]
mycol.drop()
# 列出該數據集的所有集合
collist = mydb.list_collection_names()
print('列出該數據集的所有集合:', collist)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章