MongoDB基础增删改查命令

发布于:2025-07-16 ⋅ 阅读:(12) ⋅ 点赞:(0)

目录

前置知识

JSON对象格式

JSON对象数组格式

MongoDB和MySQL类比理解

对数据库增删改查

创建数据库

查看所有数据库

查看当前数据库

删除数据库

对集合进行增删改查

创建集合

查询集合

删除集合

对集合中的JSON对象进行增删改查

增删改查所需要的操作符概念

查询操作符

逻辑操作符

更新操作符

插入JSON对象

更新JSON对象

删除JSON对象

查询JSON对象


前置知识

JSON对象格式

{"key": "value"}

JSON对象数组格式

[{"key1": "value1"},{"key2": "value2"},...]

MongoDB和MySQL类比理解

MongoDB的集合相当于MySQL中的表

MongoDB的JSON对象相当于MySQL中的一行数据

MongoDB的JSON对象数组相当于MySQL中的多行数据

MySQL是需要对表进行创建的,MongoDB中的集合是直接指定,不需要创建

对数据库增删改查

创建数据库

MongoDB数据库不是直接创建的

切换数据库,有了切换过去,没有了自动创建数据库再进行切换

所以我们想要创建数据库就直接切换数据库就可以了

use 数据库名称

查看所有数据库

show dbs

查看当前数据库

db

删除数据库

MongoDB没有删除指定数据库的命令,只有删除当前数据库的命令

所以要删除数据库要分为两步:

#切换到想要删除的数据库
use 数据库名称

#执行删除当前数据库的命令
db.dropDatabase()

对集合进行增删改查

创建集合

MongoDB推荐给集合插入数据的时候自动创建

所以集合本质上是不需要使用创建命令创建的,直接向集合插入数据,如果没有这个集合会自动创建的

查询集合

查询当前数据库下的所有集合

#返回值是数组形式
db.getCollectionNames();

删除集合

#删除指定的集合
db.集合名称.drop();

对集合中的JSON对象进行增删改查

首先,我需要澄清一点,这里强调是对集合中的JSON对象进行增删改查是为了便于理解

实际上的 集合中的JSON对象 专业术语是 文档

如果有同志不理解JSON对象、JSON对象数组格式,请看我上面的前置知识部分

增删改查所需要的操作符概念

查询操作符
操作符 说明 示例
$eq 等于 age: { $eq: 25 }
$ne 不等于 age: { $ne: 25 }
$gt 大于 age: { $gt: 25 }
$lt 小于 age: { $lt: 25 }
$in 包含在数组中 name: { $in: ["Alice", "Bob"] }
$regex 正则匹配 name: { $regex: /^A/ }
逻辑操作符
操作符 说明 示例
$and

显式写法                  $and: [{查询操作符1}, {查询操作符2}]

(推荐)隐式写法       查询操作符1,查询操作符2

$or $or: [{查询操作符1}, {查询操作符2}]
$not 单个取反 $not: {查询操作符}
$nor 多个取反 $nor: [{查询操作符1}, {查询操作符2}]

如果and和or都出现的情况下,推荐使用隐式and和显式or搭配使用,清晰明了 

更新操作符
操作符 说明 示例
$set 设置字段 $set: { age: 26 }
$unset 删除字段 $unset: { city: 1 }
$inc 递增数字 $inc: { age: 1 }
$push 向数组添加元素 $push: { hobbies: "reading" }
$pull 从数组删除元素 $pull: { hobbies: "gaming" }

插入JSON对象

#对指定集合插入单个JOSN对象
db.集合名称.insertOne(JSON对象);

#对指定集合插入多个JSON对象
db.集合名称.insertMany(JSON对象数组);

更新JSON对象

#这里的查询条件是逻辑操作符号和查询操作符号的嵌套,就是指查询条件
#对指定的集合进行单个JSON对象的更改
db.集合名称.updateOne({查询条件},{一个或多个更新操作符});

#对指定集合进行多个JSON对象的更改
db.集合名称.updateMany({查询条件},{一个或多个更新操作符});

#对指定集合中的指定行进行JSON对象的替换,就是所有数据都改变但是id不变
db.集合名称.replaceOne({查询条件},JSON对象);

删除JSON对象

#这里的查询条件是逻辑操作符号和查询操作符号的嵌套,就是指查询条件
#删除单个JSON对象
db.集合名称.deleteOne({查询条件});

#删除多个JSON对象
db.集合名称.deleteMany({查询条件});

查询JSON对象

#这里的查询条件是逻辑操作符号和查询操作符号的嵌套,就是指查询条件
#查询所有匹配的JSON对象
db.集合名称.find({查询条件});

#查询单个匹配的JSON对象
db.集合名称.findOne({查询条件});

网站公告

今日签到

点亮在社区的每一天
去签到