Django操作mongo数据库二(MongoClient方式)
一、基本环境
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、配置方法的访问路径

Django操作mongo数据库二(MongoClient方式)的更多相关文章
- django操作多数据库
django操作多数据库 1. 添加数据库路由分配文件 在项目文件夹里创建‘database_router’文件.将下面的代码复制到该文件里. from django.conf import s ...
- Python操作Mongo数据库
连接数据库 import pymongo # 连接到数据库,以下两种方式均可 client = pymongo.MongoClient(host='localhost', port=27017) cl ...
- 使用Mongo官方驱动操作Mongo数据库
首先到 https://github.com/mongodb/mongo-csharp-driver/downloads 下载Mongo官方驱动 下载完成后引用到项目中 public class Co ...
- Django 操作Mysql数据库
pip安装mysqlclient sudo ln -s /usr/local/mysql/bin/mysql_config /usr/local/bin/mysql_config sudo pip i ...
- pymongo操作mongo数据库的查操作
一: 数据结构 { "_id" : ObjectId("5de8a5b748a75a8d48b72bdc"), ", ", ", ...
- JavaWeb用Jdbc操作MySql数据库(二)
一.仍然使用前面的环境和示例数据库. 二.建立发出注册请求的页面index3.jsp. <%@ page language="java" import="java. ...
- PDO操作mysql数据库(二)
从 MySQL 数据库读取数据 <?php $server = "localhost"; $user = "root"; $pwd = "123 ...
- python操作mysql数据库系列-操作MySql数据库(二)
接口测试框架层级目录结构示意图: page目录下面的mysqlTest.py:存放的是mysql的操作代码 utils目录下面的helper.py:存放的是公共的配置方法 log目录log.md:存放 ...
- python操作三大主流数据库(8)python操作mongodb数据库②python使用pymongo操作mongodb的增删改查
python操作mongodb数据库②python使用pymongo操作mongodb的增删改查 文档http://api.mongodb.com/python/current/api/index.h ...
- Docker Mongo数据库开启用户认证
一.启动mongo容器的几种方式 #简化版 docker run --name mongo1 -p 21117:27017 -d mongo --noprealloc --smallfiles #自定 ...
随机推荐
- 什么是整体设备效率(OEE)?
整体设备效率 (OEE) 用于监控制造效率.得到的OEE百分比是通用的,可以跨不同行业和流程进行比较. OEE可用性 OEE可用性=实际运行时间/生产时间 OEE可用性是实际运行时间和计划生产时间之间 ...
- sqllabs靶场less1-4
less1-4 语法:Select 列名称 from 表名称 (where column_name='xxx' and -) 在数据库中: information_schema:存放和数据库有关的东西 ...
- 基于FLink实现的实时安全检测(一段时间内连续登录失败20次后,下一次登录成功场景)
研发背景 公司安全部目前针对内部系统的网络访问日志的安全审计,大部分都是T+1时效,每日当天,启动Python编写的定时任务,完成昨日的日志审计和检测,定时任务运行完成后,统一进行企业微信告警推送.这 ...
- JZOJ 3252. 【GDOI三校联考】炸弹
思路 注:上图只是个例子,其实建图时 \(5\) 是不会连向 \(6\) 的 \(Code\) #include<cstdio> #include<cstring> #incl ...
- CentOS7加入AD域(winbind)
作者:独笔孤行 官网: http://anyamaze.com 公众号:云实战 前言 AD域(Active Directory)是Windows服务器的活动目录,在目录中可以收录公司的电脑账 ...
- IDEA插件Apifox,一键自动生成接口文档!
有关Apifox软件之前写过一篇文章: 接口测试神器Apifox,亲测好用! 如何一键自动生成数据库文档之前也写过一篇文章: 数据库界的Swagger:一键生成数据库文档! 一.Apifox插件的优势 ...
- uniapp 自定义 picker
前言 我们在开发的过程中经常会遇到现有插件无法满足需求的情况,毕竟不是组件库不能满足项目所有需求,这时就需要我们自己去构建组件. 写这篇博文也是记录我平时开发的,以后可能会用得到的东西.希望大家看到本 ...
- python去重的几种方法
from collections import OrderedDict list1 = [1,5,2,1,10] print(list(set(list1))) #[1, 2, 10, 5] 这种方式 ...
- 【2】java之object类
一.Object 类的基本定义 Object 类是所有类的父类,最大的一个好处就是:利用 Object 类可以接收所有类的对象(向上自动转型).如果不确定参数类型,使用 Object 类型是最好的 ...
- loj2511
引言 思维题. 这个做法跑得飞快,还不用 dp,也不是爆搜! 复杂度(可能)为 \(O(s^2t)\) 或 \(O(s^2)\),实际效率也是飞快. 不过这题我直接提交答案了. 思路 考虑 \(A=m ...