mongodb学习文档:
https://docs.mongoing.com/
一、数据库操作
1.数据库use存在就使用,不存就创建

use test1;

查看所有数据库

show dbs;

切换当前数据库

use test1;

查看当前数据库

db

查看当前数据库所有的集合

show tables;

查看集合中的所有数据(条件查询时,如果使用了集合中没有的字段不会报错,但没结果)

db.students.find({})//花括号可加可不加

删除数据库

在当前数据库下运行db.dropDatabase()(有表也可以删除,而hive有表的话就不能删除数据库)

删除集合(nosql和hive不管表中有没有数据都可以直接删除)

db.users.drop();

删除集合所有文档

db.inventory.deleteMany({}) 必须带着花括号
update修改已有的文档可以同时新增字段
insert添加新的文档同时可以新增字段

二、insert操作

insert({})插入空的时候必须带花括号

格式

db.collection.insertMany([ <document 1> , <document 2>, ... ],{writeConcern: <document>,ordered: <boolean>}
)

1…集合不需要预定义,插入数据自动创建,字段创建不受限,插入同时可以随意添加新字段,也可以不插入某一字段的值

db.students.insert({name:'zb1',age:1001,hello:1
}
)

2…插入动作使用insert()函数 db.collection_name.insert()
3.插入时间,支持js,new Date()

db.students.insert({name:'zb11',age:10011,hello:11,sex:"male",addtime:new Date()//系统时间(格林威治时间,晚8小时),服务器时间不可修改,前端时间可以修改
}
)db.students.find()

4.插入多条记录,数组文档注意[ ],即使是插入一条,使用insertmany()也要用[ ]

db.students.insertMany([{name:'zb11',age:10011,hello:13,sex:"male",addtime:new Date()//系统时间(格林威治时间),服务器时间不可修改,前端时间可以修改
},
{name:'zb11',age:10011,hello:14,sex:"male",addtime:new Date()//系统时间(格林威治时间),服务器时间不可修改,前端时间可以修改
}]
)

5.insert = insertmany,insertone只插一个

三、update
3.1修改器:后面跟{key:value}

{$set:{status:'pending'}}
1.$set如果存在这个字段则更新,不存在则创建
2.$currentDate()更新创建时间,不存在则自动创建 修改器:
3.$inc  更新数字字段并加n  ,n必须是整数 ,1是加1,-1是减1

3.2查询器:前面是key,后面根条件vlaue

{age:{$gte:10}}
等于: :/$eq
大于:$gt
大于等于:$gte
小于:$lt
小于等于:$lte
不等于:$ne

格式:

db.collection.updateMany(<filter>,相当于sql的where<update>,相当于sql的set{upsert: <boolean>,//默认false,ture表示没有这个条文档的话自动创建writeConcern: <document>,collation: <document>,arrayFilters: [ <filterdocument1>, ... ],hint:  <document|string>        // Available starting in MongoDB 4.2.1}
)

updateMany(),
1.修改器:set,加一个字段的实现并赋值,set,加一个字段的实现并赋值,set,加一个字段的实现并赋值,set如果存在这个字段则更新,不存在则创建

db.students.updateMany({},{$set:{sex:'male'}})

2.修改器:$currentDate更新创建时间,不存在则自动创建

db.students.updateMany({status:'stop'},{$currentDate:{createtime:true}})

3.update,updateOne只更新一条

db.students.updateOne({age:11},{$set:{age:10,status:'ok'}})

4.updateMany()更新多条 == update students set status=“stop” where status=“ok”

db.students.updateMany({status:'ok'},{$set:{status:'stop'}})

5.replaceOne(),用第二个文档替换之前匹配到的文档

db.students.replaceOne({status:'ok'},{status:'stop',name:"xiao qi" ,age:10,num:1})

6.如果之前匹配不到这个文档 {upsert:true}自动创建后面的新的文档

db.students.replaceOne({status:'o'},{status:'stop',name:"xiao qi" ,age:10,num:1},{upsert:true})

7.年龄大于等于20的学生全部状态改为pending

db.students.updateMany(
{age:{$gte:10}},{$set:{status:'pending'}}
)

8.将年龄大于10岁的学生年龄+1并且记录修改时间使用修改器$inc更新数字字段并加n

db.students.updateMany(
{age:11},{$inc:{age:1},$currentDate:{createtime:true}}
)

9.为小明新增一个字段爱好(aihao)

db.students.updateMany(
{stuname:"小明"
},
{$set:{aihao:"足球,篮球,乒乓球"}
}
)

nosql之mongodb的数据库操作+集合的插入和更新操作相关推荐

  1. 对Excel表的查询、插入和更新操作

    为什么80%的码农都做不了架构师?>>>    本代码主要实现对Excel表的查询.插入和更新操作,而特别指出:Excel表的删除语句操作不支持,只能用更新来替代. using Un ...

  2. MongoDB基础--数据库和集合基本操作

        本笔记针对https://www.shiyanlou.com/courses/running/50 网站对mongoDB的学习和总结. 1,启动mongoDB     因为mongoDB服务并 ...

  3. MySql单张表中,“多个唯一字段”的插入和更新操作----添加联合唯一索引,Navicat上操作

    由于是入门的小白,在项目中遇到了类似的问题,做如下记录. 1.问题场景 开始本篇之前,先说下我遇到的问题场景,实际开发的场景为例: 开发中有一张用户表tb_device_user , 用来记录设备上的 ...

  4. Python操作excel进行插入、删除行操作实例演示,利用xlwings库实现

    Python 操作 Excel 之插入.删除行 第一章:整行插入与删除 ① Excel 的插入行实例演示 ② Excel 的删除行实例演示 第一章:整行插入与删除 ① Excel 的插入行实例演示 插 ...

  5. MongoDB新建数据库、集合以及用户创建和权限设置

    有段时间没用MongoDB了,最近因为业务需要开始使用MongoDB.这里就简单总结一下常用命令. 1.连接及查看所有数据库 mongo 主机ip:端口号/连接的数据库名 -u 用户名 -p 密码 / ...

  6. dede diy.php查询数据,织梦二次开发数据库操作查询、插入、更新、删除实例

    /* DedeCms 数据库使用实例说明 */ require_once (dirname(__FILE__) . "/include/common.inc.php"); //新建 ...

  7. SQLServerBulkCopy大容量插入、更新操作

    说明 pro环境在程序启动时需要运行50w update sql,在uat环境测试 1)分批1000每次,批量更新需要花时间120s左右: 2)采用下面类似第二个测试用例(先把数据插入临时表.临时表同 ...

  8. MongoDB 实战教程:数据库与集合的 CRUD 操作篇

    你好,我是悦创. 公众号:AI悦创 简介 MongoDB 是非关系型数据库(NoSQL)的代表之一,它具有高灵活.可水平扩展.高可用等优秀特性,并且它提供了强大又丰富的查询语句使开发者能够随心所欲地操 ...

  9. java查询到更新之前的数据_Java对数据库的查询和更新操作详解

    这篇文章主要介绍了使用Java对数据库进行基本的查询和更新操作,是Java入门学习中的基础知识,需要的朋友可以参考下 数据库查询 利用Connection对象的createStatement方法建立S ...

最新文章

  1. java入门(p1)进入java的世界
  2. 基于SSM实现的图书馆管理系统
  3. linux oracle bad elf,oracle11g安装到red hat6.2 64位系统报错:/lib/ld-linux.so.2: bad ELF interpreter...
  4. 计算机系统时间无法更改,电脑时间不能修改|系统时间改不了 四个处理办法
  5. gatsby_使用TinaCMS + Gatsby编辑Markdown的3种方法
  6. java作业——Day0014
  7. 开发中所使用的渠道(统计分析、分享、第三方登录、短信等)
  8. Adversarial examples in the physical world论文解读
  9. insert into 多条数据_最全总结 | 聊聊 Python 数据处理全家桶(MongoDB 篇)
  10. H.264/AVC简介
  11. mysql分级建表_Mysql如何使用命令实现分级查找帮助详解
  12. h5应用数据加密_在线视频加密用H5加密方案有哪些优点?
  13. 九大背包问题专题--有依赖的背包问题(树形Dp结合)
  14. overleaf表格_LaTeX基本命令使用教程(清晰实例)(Overleaf平台)(论文排版)
  15. 使用Origin绘制边际分布曲线(Marginal distributions plots)的思路和方法
  16. python源程序扩展名有那两种_Python源程序的扩展名是:
  17. 程序员必备的编程集成开发工具
  18. [云数据中心] 《云数据中心网络架构与技术》读书笔记 第八章 构建云数据中心端到端安全
  19. ​pypandoc库实现文档转换​
  20. Zadig, 极客的浪漫

热门文章

  1. ios android跨服务器,阴阳师ios怎么转安卓 阴阳师跨系统角色转移服务介绍_游侠手游...
  2. 解决Lua获取unity 文本内容时存在\u200B(8203)字符问题
  3. android方框验证码,Android自定义方框EditText注册验证码
  4. 围观大神是如何用 Python 处理文件的?
  5. 制作深度操作系统U盘启动盘
  6. Android应用开发用Kotlin还是Java 好?
  7. 【官网翻译】性能篇(十)性能提示
  8. E Mark认证介绍
  9. 记录一次微信公众号开发遇到的问题,提示二级域名未备案
  10. android中关于图片分享到QQ或者微信,朋友圈及其他(免SDK)