Django操作mongo数据库二(MongoClient方式)
2024-10-21 12:00:48
一、基本环境
1、开发环境:
Python环境:Python 3.8.16
Django环境:4.1
2、需要安装的包
pip install pymongo
pip install mongoengine
二、开发参数配置
1、先创建一个mongoApp的应用
2、引入mongoApp2的urls
3、编写对mongo库的增删改查方法(核心)
from django.shortcuts import render
import pymongo
from django.http import JsonResponse, HttpResponse
from pymongo import MongoClient # 配置链接信息
client = MongoClient('mongodb://root:Lhs123456@172.31.10.9:27017')
# 指定数据库
db = client['ycdb']
# 指定集合
collection = db['student_info'] #数据插入
def stuInser(request):
stu1 = {'id': '001', 'name': 'zhangsan', 'age': 10}
result = collection.insert_one(stu1)
#print("result",result)
return HttpResponse("insert success") #增加多条
def stuInserMany(request):
stu2 = {'id': '002', 'name':'lisi', 'age':15}
stu3 = {'id': '003', 'name':'wangwu', 'age':20}
result = collection.insert_many([stu2, stu3])
return HttpResponse("insert many success") #删除多条数据
def stuDeleteMany(request):
result = collection.delete_many({"name": "zhangsan"})
return HttpResponse("delete many success") # 删除一条数据
def stuDeleteOne(request):
result = collection.delete_one({"id": "001"})
return HttpResponse("delete single success") #修改一条数据
#update_one,第 2 个参数需要使用$类型操作符作为字典的键名
#姓名为zhangsan的记录,age修改为22
def stuUpdateOne(request):
condition = {'name': 'zhangsan'}
res = collection.find_one(condition)
res['age'] = 22
result = collection.update_one(condition, {'$set': res})
print(result.matched_count,result.modified_count) #获得匹配的数据条数、影响的数据条数
return HttpResponse("update single success") #修改多条
#update_many,所有年龄为15的name修改为xixi
def stuUpdateMany(request):
condition = {'age': 15}
result = collection.update_many(condition, {'$set': {'name': 'xixi'}})
print(result) # 返回结果是UpdateResult类型
print(result.matched_count, result.modified_count) # 获得匹配的数据条数、影响的数据条数
return HttpResponse("update many success") #查询多条
def stuSelectMany(request):
rets = collection.find({"age": 20})
for ret in rets:
print(ret) # 查询结果按年龄升序排序
results = collection.find().sort('age', pymongo.ASCENDING)
print([result['age'] for result in results])
return HttpResponse("select many success") #查询单条
def stuSelectOne(request):
ret = collection.find_one({'name': 'zhangsan'})
print(ret)
return HttpResponse("select one success")
4、配置方法的访问路径
最新文章
- 采用css实现流动的边框
- SQL2012删除作业失败的处理
- mysql数据库管理工具sqlyog在首选项里可以设置默认查询分页条数和字体,改写关键字大小写
- a标签属性说明
- [分享·JavaScript]提取Table中的内容到XML对象
- linux 安装xamp
- UVA 11488-Hyper Prefix Sets(Trie)
- centos修改时区,设置时间
- python基础--模块&;包
- 轻轻的扩展了一下IEnumerable<;T>;
- js 利用 ajax 加载 js ,显示加载进度 ,严格按照js的顺序先后加载到页面
- 【深度学习篇】--Seq2Seq模型从初识到应用
- [Linux]返回被阻塞的信号集
- 一个小错误:error LNK2019: 无法解析的外部符号 ";public: __thiscall Turtle::~Turtle(void)"; (??1Turtle@@QAE@XZ),该符号在函数 _main 中被引用
- js中,转义字符的表示
- AX_RecordSortedList
- java web 方面
- shell编程小技巧(命令篇)
- 菜鸟学SSH(五)——Struts2上传文件
- VS2015常用快捷键
热门文章
- Python 元组列表排序:初学者可能忽视的细节
- ROS入门:服务
- vue的异步组件
- Stable Diffusion魔法入门
- C端自动化实现:appium+winappdriver+python
- leaflet动态加载/手动绘制(圆、多边形)demo
- 【译】.NET 7 中的性能改进(十)
- Reverse for &#39;blog_detail.html&#39; not found.解决方法
- Vitis-AI之docker指南
- C++跨平台类库导出宏