Python 连接MongoDB操作数据

Python操作MongoDB数据库需要安装pymongo。 pip install pymongo

1.连接MongoDB数据库

import pymongo

# 连接数据库
client = pymongo.MongoClient(host='localhost', port=27017)

2.选择数据库

# 选择数据库,MongoDB如果没有该数据库则会创建数据库
mgdb = client['pydata']

3.插入数据

# 插入一条数据,使用insert_one()方法,传入1个字典
mgdb.table_a.insert_one({"name": "Sam", "age": 21, "gender": ""})

# 插入一条数据,同选择数据库类似,不存在集合(其他数据库一般称为表,MongoDB中称为集合)table_b则创建再插入数据
mgdb.table_b.insert_one({"name": "Sam", "age": 21, "gender": ""})

# 插入多条数据,使用insert_many(),传入一个字典列表,每条数据是一个字典
data = [
    {"name": "孙一", "age": 25, "gender": ""},
    {"name": "孙二", "age": 20, "gender": ""},
    {"name": "孙三", "age": 19, "gender": ""}
]

mgdb.table_a.insert_many(data)

4.查看数据

# 查看1条数据,不论结果有多少条,仅返回1条符合查询条件的记录
print(mgdb.table_a.find_one())
# {'_id': ObjectId('64379765774209b54e8d7a3e'), 'name': '张三', 'age': 22, 'gender': '男'}
print(mgdb.table_a.find_one({"name": "孙一"}))
# {'_id': ObjectId('6437e7d67e713e57bd03d449'), 'name': '孙一', 'age': 25, 'gender': '女'}

# 查看多条记录,返回一个查询结果的对象,对结果进行遍历,每个元素是一条记录,是字典类型
result = mgdb.table_a.find({"gender": ""})
for data in result:
    print(data)
# result = mgdb.table_a.find({查询条件},{显示字段})
# # 查询条件空表示查询所有,显示字段空表示都显示
result = mgdb.table_a.find({},{})
# 查询name为'孙一'的数据,显示所有字段
result = mgdb.table_a.find({'name':'孙一'},{})
# 查询所有数据,显示name,其他不显示 1或True表示显示,0或False表示不显示,显示和不显示不能同时指定,要么指定显示的字段,要么指定不显示的字段
result = mgdb.table_a.find({},{'name':1})

5.修改数据

# 修改1条数据
mgdb.table_a.update_one({"name": "孙一"}, {"$set": {"age": 20}})

# 修改符合条件的所有数据
mgdb.table_a.update_many({"name": "孙一"}, {"$set": {"age": 20}})

6.删除数据

# 删除1条记录,即使多条符合条件,也仅删除第一条
mgdb.table_a.delete_one({"gender": ""})

# 删除符合条件的所有数据
mgdb.table_a.delete_many({"age": 20})

 

posted on 2023-04-13 21:36  木去  阅读(207)  评论(0)    收藏  举报