【MongoDB 实战】 05 MongoDB 基本操作

mysql 与 MongoDB 逻辑关系对比,关系型数据库中的表和行 ,分别对应 mongodb 数据库中的集合和文档
在这里插入图片描述

库操作

show dbs :查看当前数据库列表
use user :两个含义,一个是创建名为user的数据库,一个是使用该数据库
db :查看当前数据库
db.createCollection('表名') :当前使用的数据库创建表
show collections :展示当前数据库下所有的数据表
db.集合名.drop() :删除数据表(集合),集合长得全部文档和集合相关的索引都会被删除
db.dropDatabase() 删除数据库,数据库相应的文件也会被删除,磁盘空间将被释放

在这里插入图片描述

mongodb 默认有两个数据库,分别是存放管理员信息的 admin 数据库,用来做认证,和存放replication相关数据的数据库 local。

表操作(mongodb 中表称为集合)

插入文档

db.集合名.insertOne(<json对象>) :集合中插入一条数据
db.集合名.save(<json对象>) :集合中插入一条数据,与inset 有一定的区别
db.集合名.insertMany([<json对象>,<json对象>,<json对象>,<json对象>]):集合中插入多条数据

在这里插入图片描述
insert 插入数据会默认分配一个id,此时如果在对相同的 id 插入数据时,会报错。 save 更加类似于更新而save方法不会报错,会更新相同的_id所在行数据的信息。
在这里插入图片描述

修改文档

db.表名.update(<查询的条件>,<更新的字段>) 修改一条记录可以用update 也可以用 updateOne
在这里插入图片描述
在这里插入图片描述

  • 使用 updateOne 表示无论条件匹配多少条记录,始终只更新第一条;
  • 使用 updateMany 表示条件匹配多少条就更新多少条;
  • updateOne/updateMany 方法要求更新条件部分必须具有以下之一,否则将报错:
    s e t / set/ set/unset
    p u s h / push/ push/pushAll/$pop
    p u l l / pull/ pull/pullAll
    • $addToSet
db.users.updateOne({_id: 1}, {name: "白龙"})   // 报错

update 更新文档

● $push: 增加一个对象到数组底部
● $pushAll: 增加多个对象到数组底部
● $pop: 从数组底部删除一个对象
● $pull: 如果匹配指定的值,从数组中删除相应的对象
● $pullAll: 如果匹配任意的值,从数据中删除相应的对象
● $addToSet: 如果不存在则增加一个值到数组

删除文档

db.表名.remove(<条件>)

● remove 命令需要配合查询条件使用;
● 匹配查询条件的的文档会被删除;
● 指定一个空文档条件会删除所有文档;

db.users.remove( { _id : 1 } ) // 删除_id 等于1的记录
db.users.remove( { _id : { $lt : 3 } } ) // 删除_id 小于3的记录
db.users.remove( { } ) // 删除所有记录
db.users.remove() //报错
在这里插入图片描述

查询文档 find

• find 是 MongoDB 中查询数据的基本指令,相当于 SQL 中的 SELECT 。
• find 返回的是游标

db.users.find( { “_id” : 1} ) //单条件查询
db.users.find( { “_id” : 2, “name” : “冯佳兴” } ) //多条件and查询
db.users.find( { $and : [ {“name” : “冯佳兴”}, { “sex” : “男” }] } ) // and的另一种形式
db.users.find( { $or: [{"_id" : 2}, {“sex” : “男”}] } ) //多条件or查询
db.users.find( { “name” : /^冯/} ) //按正则表达式查找
在这里插入图片描述

查询条件对照表
在这里插入图片描述

查询逻辑对照表
在这里插入图片描述
查询逻辑运算符

● $lt: 存在并小于
● $lte: 存在并小于等于
● $gt: 存在并大于
● $gte: 存在并大于等于
● $ne: 不存在或存在但不等于
● $in: 存在并在指定数组中
● $nin: 不存在或不在指定数组中
● $or: 匹配两个或多个条件中的一个
● $and: 匹配全部条件

查询子文档
在这里插入图片描述
查询数组
在这里插入图片描述
查询数组中的对象
在这里插入图片描述
在这里插入图片描述
MongoDB 这些基本的增删改查操作你学会了没?如果错误,感谢留言回复!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值