python全栈开发day117-MongoDB,pymongo
1.MongoDB操作
使用了不存在的对象即创建该对象
1.增加:
官方不推荐写法:
insert([{},{},{}])
官方推荐写法:
insertOne({})
insertMany([{},{},{}]) 2.删除:
官方不推荐写法:
remove({}) # delete
官方推荐写法:
deleteOne({})
deleteMany({}) 3.修改:
$修改器
官方不推荐写法:
update({},{$set:{}}) 官方推荐写法:
updateOne({},{$set:{}})
updateMany({},{$set:{}}) 4.查询
find({条件})
findOne({条件}) $: 存储 符合条件的列表元素的下标索引 hobby.$ : 1
$关键字:
$lt
$gt
$lte
$gte
$eq : $all 满足所有元素的数据 $all:[1,3,2]
$in 满足其中一个元素的数据 $in:[1,2,5,6]
$or 满足其中一个字段的数据 $or:[{name:1},{age:2}] $修改器:
$set 直接将Key设定为value
$inc 将Value加在 Key对应的value上
$unset 删除字段(field) Arrays:
$push list.append() 添加元素
$pull list.remove() 删除指定元素
$pop list.pop() 删除最后一个:1 或者 第一个:-1
2.pymongo
import pymongo mongo_client = pymongo.MongoClient(host="127.0.0.1",port=27017) mongo_db = mongo_client["S12DAY117"] #查询
# res = mongo_db.user.find()
# print(res)
# for i in res:
# print(i)
# res = mongo_db.user.find_one({"name":"yinwangba"})
# print(res) # 插入
# res = mongo_db.chat.insert_one({})
# res = mongo_db.chat.insert_many([{},{},{}])
# print(res,res.inserted_ids) # 改:
# res = mongo_db.user.update_one({"name":"jinwangba"},{"$set":{"age":888}})
# res = mongo_db.user.update_many({"age":{"$gte":0}},{"$set":{"age":888}})
# print(res,dir(res),res.modified_count) # 删除:
# res = mongo_db.user.delete_one({"name":"xiaozhuer"})
# res = mongo_db.user.delete_many({})
# print(res,dir(res),res.deleted_count) res = mongo_db.user.find_one({"name":"mjj"})
print(res) for index,item in enumerate(res.get("course")):
if res.get("course")[index]["course_name"] == "Python":
res.get("course")[index]["course_name"] = "Django Web框架" if res.get("course")[index]["course_name"] == "Vue.js":
res.get("course")[index]["course_name"] = "Flask Web框架" if res.get("course")[index]["course_name"] == "MySQL":
res.get("course")[index]["course_name"] = "MongoDB" res = mongo_db.user.update_one({"name":"mjj"},{"$set":res})
python全栈开发day117-MongoDB,pymongo的更多相关文章
- 巨蟒python全栈开发flask8 MongoDB回顾 前后端分离之H5&pycharm&夜神
1.MongoDB回顾 .启动 mongod - 改变data/db位置: --dbpath D:\data\db mongod --install 安装windows系统服务 mongod --re ...
- python全栈开发目录
python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...
- Python全栈开发【面向对象进阶】
Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...
- Python全栈开发【面向对象】
Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...
- Python全栈开发【模块】
Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...
- Python全栈开发【基础四】
Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...
- Python全栈开发【基础三】
Python全栈开发[基础三] 本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...
- Python全栈开发【基础二】
Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...
- Python全栈开发【基础一】
Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...
- python 全栈开发之路 day1
python 全栈开发之路 day1 本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
随机推荐
- CC1310 笔记
GPIO控制: #include <ti/drivers/GPIO.h> GPIO_init() 函数会调用 结构体实例 GPIOCC26XX_config,把需要使用到的GPIO放一起, ...
- selenium各版本jar包下载地址
http://selenium-release.storage.googleapis.com/index.html
- (十) 编写UVC程序
目录 编写UVC程序 流程简述 11个ioctl函数 查询属性 VIDIOC_QUERYCAP 枚举格式 VIDIOC_ENUM_FMT 查询当前格式 VIDIOC_G_FMT 尝试某种格式 VIDI ...
- html5+hbuilder+夜神模拟器+webview
HTML5 Plus应用概述 首先新建一个移动App项目,文件-->新建-->移动APP HTML5 Plus移动App,简称5+App,是一种基于HTML.JS.CSS编写的运行于手机端 ...
- Typora 使用说明
目录 Typora是一款超简洁的markdown编辑器,具有如下特点: 完全免费,目前已支持中文 跨平台,支持windows,mac,linux 支持数学公式输入,图片插入 极其简洁,无多余功能 界面 ...
- [Deep Learning] 常用的Active functions & Optimizers
深度学习的基本原理是基于人工神经网络,输入信号经过非线性的active function,传入到下一层神经元:再经过下一层神经元的activate,继续往下传递,如此循环往复,直到输出层.正是因为这些 ...
- Nginx开启gzip压缩解决react打包文件过大
用create-react-app创建的react应用打包之后的build js有1M之多. 采用gzip打包传输,可以节约70%左右的带宽 nginx采用gzip打包方式 在nginx配置中添加如下 ...
- PostgreSQL学习笔记(一)-安装PostgreSQL
PostgreSQL官网:https://www.postgresql.org/docs/11/index.html1.如何安装2.如何修改配置文件3.如何设置自动启动4.如何修改数据用户密码 本文环 ...
- zynq DMA控制器
Zynq-7000系列器件PS端的DMA控制器采用ARM的IP核DMA-330(PL-330)实现. 特点: 1.8个独立的通道,4个可用于PL—PS间数据管理,每个通道有1024Byte的MFIFO ...
- 关于codeforces国内访问卡顿慢的最新解决办法,谷歌字体库/屏蔽facebook链接
在host里最后加上 方法起源来自于https://blog.csdn.net/qq_40693171/article/details/83623409 但是里面的360字体库已经停运http://w ...