python操作MongoDB
1.在本地环境安装MongoDB
2.安装pymongo驱动 pip install pymongo
3.python 操作 mongodb
1)添加数据
import pymongo # 创建集合 my_client = pymongo.MongoClient("mongodb://127.0.0.1:27017") my_db = my_client["nba"] my_col = my_db["players"] # 创建插入文档 data = {"name": "James", "club": "Lakers", "nickname": "King"} # 执行插入命令 rest = my_col.insert_one(data) print(rest)
在终端执行代码后:
<pymongo.results.InsertOneResult object at 0x02BACD50>
插入多条文档:
import pymongo # 创建集合 my_client = pymongo.MongoClient("mongodb://127.0.0.1:27017") my_db = my_client["nba"] my_col = my_db["players"] # 创建多条文档 data = [{"name": "James", "club": "Lakers", "nickname": "皇帝"}, {"name": "Curry", "club": "Warriors", "nickname": "小学生"}, {"name": "Durant", "club": "Warriors", "nickname": "死神"}, {"name": "Westbrook", "club": "Thunder", "nickname": "神龟"}, ] # 执行多条文档插入命令 rest = my_col.insert_many(data) print(rest)
2)查询数据:
import pymongo # 创建集合 my_client = pymongo.MongoClient("mongodb://127.0.0.1:27017") my_db = my_client["nba"] my_col = my_db["players"] # 查询单条数据并打印 rest = my_col.find_one() print(rest)
查询结果为:
{'_id': ObjectId('5c08d03ef1a49227e8239d25'), 'name': 'James', 'club': 'Lakers', 'nickname': '皇帝'}
import pymongo # 创建集合 my_client = pymongo.MongoClient("mongodb://127.0.0.1:27017") my_db = my_client["nba"] my_col = my_db["players"] # 查询所有数据并打印 rest = my_col.find() for item in rest: print(item)
查询结果为:
{'_id': ObjectId('5c08d03ef1a49227e8239d25'), 'name': 'James', 'club': 'Lakers', 'nickname': '皇帝'} {'_id': ObjectId('5c08d03ef1a49227e8239d26'), 'name': 'Curry', 'club': 'Warriors ', 'nickname': '小学生'} {'_id': ObjectId('5c08d03ef1a49227e8239d27'), 'name': 'Durant', 'club': 'Warrior s', 'nickname': '死神'} {'_id': ObjectId('5c08d03ef1a49227e8239d28'), 'name': 'Westbrook', 'club': 'Thun der', 'nickname': '神龟'}
查询指定字段的数据:
import pymongo # 创建集合 my_client = pymongo.MongoClient("mongodb://127.0.0.1:27017") my_db = my_client["nba"] my_col = my_db["players"] # 查询所有数据并打印 rest = my_col.find({}, {"_id" :0, "name":1, "club":1, "nick_name":1}) for item in rest: print(item)
查询返回结果为:
{'name': 'James', 'club': 'Lakers'} {'name': 'Curry', 'club': 'Warriors'} {'name': 'Durant', 'club': 'Warriors'} {'name': 'Westbrook', 'club': 'Thunder'}
注意: 除了 _id 不能在一个对象中同时指定 0 和 1,如果你设置了一个字段为 0,则其他都为 1,反之亦然。
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步