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 #自定 ...
随机推荐
- Prometheus&Alertmanager告警推送
前言 尽管可以通过可视化数据监控系统运行状态,但我们无法时刻关注系统运行,因此需要一些实时运行的工具能够辅助监控系统运行,当系统出现运行问题时,能够通知我们,以此确保系统稳定性,告警便是作为度量指标监 ...
- JZOJ 4279. 【NOIP2015模拟10.29B组】树上路径
题目 现在有一棵n个点的无向树,每个点的编号在1-n之间,求出每个点所在的最长路. 思路 换根 \(dp\),这里只是记下怎么打 \(Code\) #include<cstdio> #in ...
- .Net Core 配置源码学习 (一)
一 背景 相比.Net Framework , .NET Core的配置系统 ,有一些明显的优点 ,如: 1 支持更丰富的配置源 2 读取配置时, 可以用相同的方式读取, 并且非常方便 3 修改配置后 ...
- 时钟切换电路(无毛刺)——clock switching glitch free
0.引言 随着越来越多的多频时钟被应用在今天的芯片中,尤其是在通信领域中,经常需要在芯片运行时切换时钟线的源时钟.这通常是通过在硬件中复用两个不同的频率时钟源,并通过内部逻辑控制多路选择器选择线来实现 ...
- MySQL线程池、连接池等概念
一.MySQL连接池 1 连接池通常实现在client端,是指应用(客户端)预先创建一定的连接,利用这些连接服务于客户端所有的DB请求. 2 如果某一个时刻,空闲的连接数小于DB的请求数,则需要将请求 ...
- nodejs 后台运行 forever
一.安装nodejs //安装必要的make以及gcc,gcc-c++编译器 yum -y install make gcc gcc-c++ //获取源码 wget http://nodejs.org ...
- C# DevExpress中GridControl控件的基本属性设置和使用方法
1.GridControl隐藏GroupPanel(主面板) 隐藏:鼠标单击Run Designer-OptionsView-ShowGroupPanel=False; 修改:鼠标单击Run Desi ...
- FPGA MIG调试bug(一)
目标器件:复旦微FPGA:JFM7K325T8FCBGA676(对标Xilinx Kintex-7系的XC7K325T) 工程背景:板载4片DDR(AllianceMemory_DDR3L_8G_AS ...
- 【剑指Offer】【链表】复杂链表的复制
题目:输入一个复杂链表(每个节点中有节点值,以及两个指针,一个指向下一个节点,另一个特殊指针指向任意一个节点),返回结果为复制后复杂链表的head.(注意,输出结果中请不要返回参数中的节点引用,否则判 ...
- redis底层数据结构之整数集合(intset)
整数集合(intset) 当一个集合只包含整数值元素,并且这个集合的元素数量不多时,redis会使用整数集合(intset)作为集合键的底层实现 整数集合用于保存整数值的集合抽象数据类型,它可以保存类 ...