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})
浙公网安备 33010602011771号