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的更多相关文章

  1. 巨蟒python全栈开发flask8 MongoDB回顾 前后端分离之H5&pycharm&夜神

    1.MongoDB回顾 .启动 mongod - 改变data/db位置: --dbpath D:\data\db mongod --install 安装windows系统服务 mongod --re ...

  2. python全栈开发目录

    python全栈开发目录 Linux系列 python基础 前端~HTML~CSS~JavaScript~JQuery~Vue web框架们~Django~Flask~Tornado 数据库们~MyS ...

  3. Python全栈开发【面向对象进阶】

    Python全栈开发[面向对象进阶] 本节内容: isinstance(obj,cls)和issubclass(sub,super) 反射 __setattr__,__delattr__,__geta ...

  4. Python全栈开发【面向对象】

    Python全栈开发[面向对象] 本节内容: 三大编程范式 面向对象设计与面向对象编程 类和对象 静态属性.类方法.静态方法 类组合 继承 多态 封装 三大编程范式 三大编程范式: 1.面向过程编程 ...

  5. Python全栈开发【模块】

    Python全栈开发[模块] 本节内容: 模块介绍 time random os sys json & picle shelve XML hashlib ConfigParser loggin ...

  6. Python全栈开发【基础四】

    Python全栈开发[基础四] 本节内容: 匿名函数(lambda) 函数式编程(map,filter,reduce) 文件处理 迭代器 三元表达式 列表解析与生成器表达式 生成器 匿名函数 lamb ...

  7. Python全栈开发【基础三】

    Python全栈开发[基础三]  本节内容: 函数(全局与局部变量) 递归 内置函数 函数 一.定义和使用 函数最重要的是减少代码的重用性和增强代码可读性 def 函数名(参数): ... 函数体 . ...

  8. Python全栈开发【基础二】

    Python全栈开发[基础二] 本节内容: Python 运算符(算术运算.比较运算.赋值运算.逻辑运算.成员运算) 基本数据类型(数字.布尔值.字符串.列表.元组.字典) 其他(编码,range,f ...

  9. Python全栈开发【基础一】

    Python全栈开发[第一篇] 本节内容: Python 的种类 Python 的环境 Python 入门(解释器.编码.变量.input输入.if流程控制与缩进.while循环) if流程控制与wh ...

  10. python 全栈开发之路 day1

    python 全栈开发之路 day1   本节内容 计算机发展介绍 计算机硬件组成 计算机基本原理 计算机 计算机(computer)俗称电脑,是一种用于高速计算的电子计算机器,可以进行数值计算,又可 ...

随机推荐

  1. Spring Boot学习总结二

    Redis是目前业界使用最广泛的内存数据存储.相比memcached,Redis支持更丰富的数据结构,例如hashes, lists, sets等,同时支持数据持久化.除此之外,Redis还提供一些类 ...

  2. 将gbk字符串转换成utf-8,存储到注册表中后,再次从注册表读取转换成gbk,有问题!!!

    char *a = "新2新"; printf("gbk:'%s'\n", a); int ii; ; ii < strlen(a); ii++) { p ...

  3. 夜神模拟器调试web APP

    前言:之前工作之余的时间自己做了一个web APP,但是都是在浏览器上调试的,这次想看看在手机上啥效果,所以下载了一个夜神模拟器 一.下载夜神模拟器 https://www.yeshen.com/ 二 ...

  4. 从Docker 到Jenkins 到Ansible的部署经验

    从Docker 到Jenkins 到Ansible的部署经验 工作中,除了开发功能,还负责系统的部署工作.我从频繁的部署工作中,逐渐找到了一些偷懒的方法.从传统的Java -jar命令启动服务,到通过 ...

  5. ElasticSearch query_string vs multi_match cross_fields query

    ElasticSearch query_string vs multi_match cross_fields query 本文记录以字段为中心的查询和以词为中心的查询这两种查询方式的区别以及在Elas ...

  6. Ireport5.0.1 从java后台接收list集合

    作为ireport新手,开始使用时总有很多问题,说一下今天解决的一个问题,就是怎样从java后台接收list集合并显示出列表. 1.首先要在主dataset中的Paramerters 中创建参数lis ...

  7. springboot springmvc拦截器 拦截POST、PUT、DELETE请求参数和响应数据,并记录操作日志

    1.操作日志实体类 @Document(collection = "operation_log") @Getter @Setter @ToString public class O ...

  8. RAID 划分

    RAID0:N块盘组成,逻辑容量为N块盘容量之和:RAID1:两块盘组成,逻辑容量为一块盘容量:RAID3:N+1块盘组成,逻辑容量为N块盘容量之和:RAID5:N块盘组成,逻辑容量为N-1块盘容量之 ...

  9. windows 下的 Rsync 同步

    整理一下 windows 下的 rsync 文件同步. Rsync下载地址: 链接:https://pan.baidu.com/s/1nL0Ee_u76ytWKUFMeiKDIw 提取码:52in 一 ...

  10. ueditor复制文本有多余的空行问题

    今天从ueditor中复制文本,粘贴到记事本中发现每一行后面都多了一个空行. Ueditor中的文本如图: 本来只有三行,全选复制所有内容,再粘贴到记事本中发现有每一行文本后面都有多余的空行: 如果我 ...