MongoDB增删查改

102 阅读2分钟

MongoDB基础

  • MongoDB包含三个重要的部分:数据库database集合collection文档document
  1. 查看数据库 show databases 需要在后面加一个s哦~
  2. 选择数据库 use 数据库名 在MongoDB中选择不存在的数据库不会报错,会隐式创建
  3. 查看集合 show collections
  4. 选择集合 use 集合名
  5. 创建集合 db.createCollection('集合名') 创建成功返回{“ok”:1}
  6. 删除集合 db.集合名.drop()

如何删除数据库?

  • 1、通过use选中数据库
  • 2、通过db.drop.Database()删除数据库

MongoDB增加数据(插入数据)

语法:db.集合名.insert(JSON数据) 说明:集合存在则直接插入数据,集合不存在则隐式创建集合

```在test2数据库的c1集合中插入数据(姓名叫做webopenfather年龄18岁)
use test2
db.c1.insert({uname:'webopenfather',age:18})
//查看是否插入成功

新的操作api方法

  • insertOne() - 插入单个文档
  • insertMany() - 插入多个文档
  • bulkWrite() - 执行批量写入操作 MongoDB会给每条数据增加一个全球唯一的_id键

image.png

MongoDB查询文档

语法: db.集合名.find(条件 [查询的列]
条件:
查询所有数据 使用大括号{},或者不写
查询某个数据,如age=6 直接写进大括号里面{age:6}
既要age=6又要性别=女 使用逗号隔开{age:6,sex:'女'}

查询列(可选参数) 不写-查询全部列(字段)
{age:1} 只显示age列(字段)
{age:0} 显示除了age列的所有列或者字段
不管怎么查询系统自定义的_id始终都会存在

查询运算符:

运算符作用
$gt大于
$gte大于等于
$lt小于
$lte小于等于
$ne不等于
$inin
$ninnot in

语法: db.集合名.find({键:值}) =》 db.集合名.find({键:{运算符:值}}) 使用箭头后面的写法,值不直接写

image.png

MongoDB修改文档

语法: db.集合名.update(条件,新数据[是否新增,是否修改多条])
是否新增:指条件匹配不到数据则插入(true表示插入,false则不插入,默认是false)
是否修改多条:指将匹配成功的数据都修改(true是,false否,默认是false)

升级语法 修改器

修改器作用
$inc递增
$rename重命名列
$set修改列值
$unset删除列

语法: db.集合名.update(条件,新数据) 新数据要先写修改器,即db.集合名.update(条件,{修改器:{键:值}})

image.png

一次性写多个修改器

image.png

MongoDB删除

语法: db.集合名.remove(条件 [是否删除一条])
是否删除一条 true是,false否,默认是否,否的话则全部删除

image.png