当前位置: 首页 > news >正文

MongoDB的增删改查操作

1.文档创建

        首先要插入数据前,要先创建数据库,创建完之后建立集合,然后才能进行增删改查的步骤

        切换(新建)数据库:

use <db>

        db是指要创建数据库的名称

        新建集合:

db.createCollection(<collections>)

        collections是指新建的集合

2.文档插入

        

db.<collection>.insert(<doc>)

或者

db.<collection>.insertOne(<doc>)

是数据库的单个插入

db.<collection>.insert([<doc>,<doc>,<doc>,...])

或者

db.<collection>.insertMany([<doc>,<doc>,<doc>,...])

是数据库的多个插入

注意:_id是文档主键,如果没有指定系统会自动生成,类型为ObjectId,如果有指定id则要保证id不重复

3.文档查询

3.1.基本语法

db.<collection>.find()

返回当前文档的全部文档

db.<collection>.findOne()

只返回一个文档

3.2.条件查询

(1)常见的比较操作符

$eq/$ne:等于/不等于

db.<collection>.find({"name":{$eq:"apple"}})

等价于

db.<collection>.finf({"name":"apple"})

$ne以此类推

$gt/$lt/$gte/$lte:大于/小于/大于等于/小于等于

db.<collection>.find({"price":{$gt:7}})

$not:非条件

db.<collection>.find({"price":{$not:{$gt:3,$lt:5}}})

$in/$nin:存在于/不存在于

db.<collection>.find({"name":{$in:["apple","banada","orange"]}})

(2)常见的逻辑操作符

常见的逻辑操作符:与($and)、或($or)、非($nor/$not)等

3.3.返回结果控制

利用pretty、sort、limit、skip等子句对查询结果的显示进行控制

sort子句对查询结果的显示进行排序

db.<collection>.find().sort({"price":1})

气质"price":1是对price字段进行升序排序,-1则是降序排序

limit子句用于限制返回结果的数量,skip子句用于跳过指定数量的结果

db.<collection>.find().limit(10).skip(2)

当前的语句表示返回结果的数量为10个,跳过第一个文档

3.4.字段枚举

db.<collection>.distince()

3.5.计数

db.<collection>.cound(<quert>,<options>)

4.文档更新

4.1.基本语法

db.<collection>.find().update(<query>,<update>,<options>)
db.<collection>.find().updateOne(<query>,<update>,<options>)
db.<collection>.find().updateMany(<query>,<update>,<options>)
db.<collection>.find().replaceOne(<query>,<replacement>,<options>)

update相当于updateOne和updateMany的功能之和,在默认情况下相当于updateOne。<query>表示匹配条件,<update>表示更新方式,<options>为附加选项。<query>和<update>为必须选项,<options>为附加选项。

2.常用操作符

<update>中采用的操作符如下:

$set:将字段设置为一个新值,可在一个 { } 对象中为多个对象赋值,此时字段之间需要用逗号隔开

$inc:将数值型字段增加指定的数值,可在一个 { } 对象中设置多个字段增加不同数值

$mul:将数值型字段乘指定的数值,可在一个 { } 对象中设置多个字段乘不同数值

$max/$min:数值型字段中,如果待修改字段的数值小于/大于该值,则将数值进行修改

$currentDate:将字段设置为当前时间戳字符串

$rename:将字段改名,可在一个 { } 对象中为多个字段改名

$unset:删除指定字段,可在一个 { } 对象中删除多个字段

5.文档删除

db.<collection>.find().remove(<query>)
db.<collection>.find().deleteMany(<query>,<options>)
db.<collection>.find().deleteOne(<query>,<options>)

<query>为删除条件<options>可选可不选。deleteMany语句和deleteOne语句的差别是前者删除多个文档,后者删除一个文档

相关文章:

  • 反向代理、负载均衡与镜像流量:原理剖析、区别对比及 Nginx 配置实践
  • 软件测试实验报告3 | 自动化测试工具的基本操作
  • 使用阿里云 CDN 保护网站真实 IP:完整配置指南
  • 【分布式系统中的“瑞士军刀”_ Zookeeper】三、Zookeeper 在实际项目中的应用场景与案例分析
  • 换张电话卡能改变IP属地吗?一文解读
  • 在 C# .NET 中驾驭 JSON:使用 Newtonsoft.Json 进行解析与 POST 请求实战
  • Java基础361问第16问——枚举为什么导致空指针?
  • 第十三章-PHP MySQL扩展
  • DeepSeek+即梦:AI视频创作从0到1全突破
  • 深度学习任务评估指标
  • SQL 易混易错知识点笔记1(drop,role,%,localhost)
  • DNA-free基因组编辑技术任重而道远
  • 机器人--激光雷达
  • 低空经济无人机创新实训室解决方案
  • 武汉同济医院大模型应用通识第2课聚焦提示词工程,和鲸助力开讲
  • 如何搭建spark yarn模式的集群
  • Centos小白之在CentOS8.5中安装Rabbitmq 3.10.8
  • DSP48E2 的 MAC模式功能仿真
  • 线段树合并与分解
  • 从外卖大战看O2O新趋势:上门私厨平台系统架构设计解析
  • 葡萄牙、西班牙发生大范围停电
  • 伊朗南部港口火势蔓延,部分集装箱再次发生爆炸
  • 中央纪委办公厅公开通报3起整治形式主义为基层减负典型问题
  • 美国政府将暂时恢复部分受影响留学生的合法身份,并将制订新标准
  • 民航局:预计五一假期民航旅客运输量创同期历史新高,将加强价格管理
  • 印度媒体称印巴在克什米尔再次交火