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)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...
随机推荐
- wqs二分
今天模拟赛有一道林克卡特树,完全没有思路 赛后想了一想,不就是求\(k+1\)条不相交的链,使其权值之和最大嘛,傻了. 有一个最裸的\(DP\),设\(f[i][j][k]\)表示在以\(i\)为根的 ...
- PHP开发要点与技巧总结(二)
1 == 'a'.0 == 'a'.97 == '97a'?这里边牵涉到的是默认数据类型转换. // 无输出 if ('0') { echo "'0' is true\n"; } ...
- matolop画图
import numpy as np import matplotlib.pyplot as plt x=np.linspace(0,6,100) y=np.cos(2*np.pi*x)*np.exp ...
- SQL随记(五)——函数篇
1.SQL函数: (1)replace(String1,String2,String3):从String1字符串中找到String2,然后用String3替换String2 如:replace('ab ...
- JMeter的介绍和简单使用
Apache官网(https://jmeter.apache.org/)对JMeter的解释: Apache JMeter™ Apache JMeter™应用程序是开源软件, 为负载功能和性能测试 ...
- ELK 构建 MySQL 慢日志收集平台详解
ELK 介绍 ELK 最早是 Elasticsearch(以下简称ES).Logstash.Kibana 三款开源软件的简称,三款软件后来被同一公司收购,并加入了Xpark.Beats等组件,改名为E ...
- <HTML>初识HTML
最近在阅读Head first HTML and CSS, 写一些笔记. 小知识: 1. 浏览器会忽略HTML文档中的制表符,回车和大部分空格——要用标记 2. WYSIWYG——使得用户在视图中 ...
- [Reinforcement Learning] 强化学习介绍
随着AlphaGo和AlphaZero的出现,强化学习相关算法在这几年引起了学术界和工业界的重视.最近也翻了很多强化学习的资料,有时间了还是得自己动脑筋整理一下. 强化学习定义 先借用维基百科上对强化 ...
- js中的 Date对象 在 IOS 手机中的兼容性问题
项目中有个时间相关的需求,很自然的用到了 js 中的 new Date() 获取时间,浏览器使用模拟手机模式访问没有问题,但是真机测试时发现,ios系统的手机无法显示时间. 定位问题发现是 new D ...
- Python文件格式 .py .pyc .pyw .pyo .pyd的主要区别
Python是一种面向对象.解释型计算机程序设计语言.Python 语法简洁.清晰,具有丰富和强大的类库.Python源代码遵循 GPL (GNU General Public License) 协议 ...