python中操作MongoDB库之pymongo库
这里写目录标题
安装命令:pip install pymongo
1. 导入命令
from pymongo import MongoClient
2. 链接数据库
client = MongoClient()
# MongoClient('127.0.0.1', 27017)
# MongoClient('mongodb://127.0.0.1:27017')
# 第二种 自己传host和port两个参数
# MongoClient('mongodb://127.0.0.1:27017') 或者 MongoClient('mongodb://localhost:27017')
# 也可以指定连接的集合client['admin']['students']
3. 查看数据库
print(client.list_database_names(), '数据库database')
4. 选择数据库
db = client['learn']
# db=client.get_database('learn')
# db=client.learn
5. 查询集合
print(db.list_collection_names(), '集合collection')
6. 删除集合
db.drop_collection('stu')
print(db.list_collection_names())
7. 添加插入数据
post = {'title': '标题', 'content': '内容'}
# db.集合名.insert_one 插入一条数据
insert1 = db.stu.insert_one(post)
print(insert1)
# # 插入多条数据
data_list = [{"name": "test{}".format(i)} for i in range(5)]
insert2 = db.stu.insert_many(data_list)
print(insert2)
8. 查询数据
# 查询一条数据
find1 = db.stu.find_one()
print(find1)
# 查询多条数据
find2 = db.stu.find()
# print(find2)
for find in find2:
print(find)
# 根据指定功能查询数据库
find3 = db.stu.find({'title': '标题'})
print(find3)
9. 删除数据
# 删除一条数据
res=db.stu.delete_one({'title': '标题'})
# 打印删除的文档数
print(res.deleted_count)
# 删除多条数据
delete11=db.stu.delete_many({'name': {"$regex": "^t"}})
# $regex 为模糊查询的字符串提供正则表达式功能
print(delete11.deleted_count)
10. 修改数据
# 修改单条数据
db.stu.update_one({'title':'标题'},{'$set':{'title':'title-2'}})
for i in db.stu.find():
print(i)
# 匹配的数据条数
print(res.matched_count)
# 影响的数据条数。
print(res.modified_count)
# 修改多条数据
update1=db.stu.update_many({"name": "test1"},{'$set':{"name": "test11111"}})
print(update1.matched_count)
print(update1.modified_count)
for i in db.stu.find():
print(i)
11. 全部代码展示
from pymongo import MongoClient
"""
安装命令:pip install pymongo
"""
"""链接数据库"""
client = MongoClient()
# MongoClient('127.0.0.1', 27017)
# MongoClient('mongodb://127.0.0.1:27017')
# 第二种 自己传host和port两个参数
# MongoClient('mongodb://127.0.0.1:27017') 或者 MongoClient('mongodb://localhost:27017')
# 也可以指定连接的集合client['admin']['students']
'''查看数据库'''
print(client.list_database_names(), '数据库database')
'''选择数据库'''
db = client['learn']
# db=client.get_database('learn')
# db=client.learn
"""查询集合"""
print(db.list_collection_names(), '集合collection')
"""删除集合"""
db.drop_collection('stu')
print(db.list_collection_names())
"""添加插入数据"""
post = {'title': '标题', 'content': '内容'}
# db.集合名.insert_one 插入一条数据
insert1 = db.stu.insert_one(post)
print(insert1)
# # 插入多条数据
data_list = [{"name": "test{}".format(i)} for i in range(5)]
insert2 = db.stu.insert_many(data_list)
print(insert2)
"""查询数据"""
# 查询一条数据
find1 = db.stu.find_one()
print(find1)
# 查询多条数据
find2 = db.stu.find()
# print(find2)
for find in find2:
print(find)
# 根据指定功能查询数据库
find3 = db.stu.find({'title': '标题'})
print(find3)
"""删除数据"""
# 删除一条数据
res=db.stu.delete_one({'title': '标题'})
# 打印删除的文档数
print(res.deleted_count)
# 删除多条数据
delete11=db.stu.delete_many({'name': {"$regex": "^t"}})
# $regex 为模糊查询的字符串提供正则表达式功能
print(delete11.deleted_count)
'''修改数据'''
# 修改单条数据
db.stu.update_one({'title':'标题'},{'$set':{'title':'title-2'}})
for i in db.stu.find():
print(i)
# 匹配的数据条数
print(res.matched_count)
# 影响的数据条数。
print(res.modified_count)
# 修改多条数据一
update1=db.stu.update_many({"name": "test1"},{'$set':{"name": "test11111"}})
print(update1.matched_count)
print(update1.modified_count)
for i in db.stu.find():
print(i)