【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)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章