【mongoDB数据库基本操作】

news/2024/11/24 5:43:55/

mongoDB 基本命令使用

  • mongoDB数据库基本操作
    • 1、连接/创建数据库
    • 3、查看数据库
    • 4、删除数据库
  • 表的基本操作
    • 1、创建表
    • 2、删除表
    • 3、查询表
    • 4、更新表
    • 删除表中的记录

mongoDB数据库基本操作

连接mongoDb服务器
进入到mongoDb安装目录

cd /data/mongodb/bin
在这里插入图片描述

使用./mongo连接到本地服务器& 打开一个命令窗口:
在这里插入图片描述

1、连接/创建数据库

使用 ./mongo 连接到服务器后,切换到指定的数据库:
use + 数据库名
若不存在会创建
在这里插入图片描述
因为是空的数据库,所以show dbs时也是空的:
连接到yapi数据库:
在这里插入图片描述

3、查看数据库

查看当前的数据库是哪个
show dbs或者show databases
在这里插入图片描述

4、删除数据库

db.dropDatabase()
删除当前数据库

表的基本操作

在mongoDB中,表就是集合
想要对表进行操作,需要先连接到对应的数据库,并且认证通过后才能进行表的增删改查等。
如果没有认证就操作表会报错:
在这里插入图片描述

通过auth命令进行认证:

  • 格式:db.auth(“用户名”,“密码”)
  • 示例如下
    在这里插入图片描述
    返回1表示认证成功,之后即可进行数据表的操作了

1、创建表

可以用insert 记录的方式创建一个有记录的表

在这里插入图片描述
在这里插入图片描述
也可以用createCollection 关键字创建一个空表
在这里插入图片描述

2、删除表

在mongoDB中表就说集合
使用db.集合名.drop() 删除表
在这里插入图片描述

3、查询表

使用db.集合名.find() 查询集合的所有记录
在这里插入图片描述

4、更新表

Insert一条记录
db.集合名.insert(document)

db.集合名.save(document)

其中

  • save():如果 _id 主键存在则更新数据,如果不存在就插入数据。该方法新版本中已废弃,可以使用db.collection.insertOne() 或db.collection.replaceOne() 来代替。
  • insert(): 若插入的数据主键已经存在,则会抛
    org.springframework.dao.DuplicateKeyException 异常,提示主键重复,不保存当前数据

实例

在这里插入图片描述

update 更新记录
语法如下

db.collectio_name.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
})

参数说明

  • query : update 的查询条件,类似 sql update 查询内 where 后面的。
  • update : update 的对象和一些更新的操作符(如, ,inc…)等,也可以理解为 sql update 查询内 set 后面的
  • upsert : 可选,这个参数的意思是,如果不存在 update 的记录,是否插入objNew,true 为插入,默认是false,不插入。
  • multi : 可选,mongodb 默认是 false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  • writeConcern :可选,抛出异常的级别。

实例
把testCreateTable集合中name=cuicj2的更新成3
testCreateTable.update({name:‘cuicj2’},{$set:{name:‘cuicj3’}});
等同于 update testCreateTable set name=’cuicj3‘ where name=‘cuicj2’
在这里插入图片描述
默认集合中存在多条记录时只更新匹配的第一条记录,因为参数multi的默认值是false(只更新第一条),需要更新全部匹配的记录时则需要把这个字段值设置为true
也就是

testCreateTable.update({name:‘cuicj2’},{$set:{name:‘cuicj3’}},false,true);
在这里插入图片描述

删除表中的记录

MongoDB remove()函数是用来移除集合中的数据。在执行 remove()函数前先执行find()命令来判断执行的条件是否正确,这是一个比较好的习惯。语法如下:

db.collection_name.remove(
<query>,
<justOne>)
}

参数说明:

  • query :(可选)删除的文档的条件。
  • justOne : (可选)如果设为 true 或 1,则只删除一个文档,如果不设置该参数,或使用默认值
  • false,则删除所有匹配条件的文档。
    例如:

db.testCreateTable.remove({‘name’:‘cuicj3’})
示例:
在这里插入图片描述

如果只想删除第一条找到的记录可以设置 justOne 为 1,如下所示:

db.collection_name.remove(删除条件,1)
示例
在这里插入图片描述

如果你想删除所有数据,可以使用以下方式:

db.testCreateTable.remove({})
在这里插入图片描述


http://www.ppmy.cn/news/384065.html

相关文章

scDesign3:多模态单细胞和空间组学数据生成

scDesign3是一个统计模拟器&#xff0c;通过从真实数据中学习可解释的参数&#xff0c;生成真实的单细胞和空间组学数据&#xff0c;包括各种细胞状态、实验设计和特征模态。使用单细胞和空间组学数据的统一概率模型&#xff0c;scDesign3可以推断出具有生物学意义的参数&#…

惠普HP Color Laser 150nw 打印机驱动

惠普HP Color Laser 150nw 打印机驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作…

惠普HP Laser NS MFP 1005c 打印机驱动

惠普HP Laser NS MFP 1005c 打印机驱动是官方提供的一款打印机驱动&#xff0c;本站收集提供高速下载&#xff0c;用于解决打印机与电脑连接不了&#xff0c;无法正常使用的问题&#xff0c;本动适用于&#xff1a;Windows XP / Windows 7 / Windows 8 / Windows 10 32/64位操作…

7-基于51单片机的金属探测器检测金属报警器设计(源程序+原理图+PCB+论文)全套资料

编号: 0007 本系统采用单片机1602液晶按键比较器蜂鸣器发光二极管组合而成。 按键说明: 加键、减键。单独一个按键为复位按键 1.单片机型号: STC89C52/51、AT89C52/51、AT89S52/51 可任选&#xff0c;程序通用2.产品自带单片机上电复位电路、手动复位电路(复位按键)、晶振电路(…

一文彻底搞懂 Softmax 函数,数学原理分析和 PyTorch 验证

文章目录 1. Softmax 的定义2. Softmax 使用 e 的幂次的作用2.1 代码验证2.2 数学原理分析 3. 解决 Softmax 的数值溢出问题3.1 什么是数值溢出&#xff1f;3.2 解决数值上溢问题&#xff1a; x i − m a x ( x ) x_i-max(x) xi​−max(x)3.3 解决数值下溢问题&#xff1a;log_…

CopyOnWriteArrayList原理分析

目录 一、应用场景 二、原理 2.1、读取操作的实现 2.2、写入操作的实现 2.3、remove方法的实现 三、优缺点 3.1、优点 3.2、缺点 一、应用场景 在很多应用场景中&#xff0c;读操作的频率可能会远远大于写操作。由于读操作根本不会修改原有的数据&#xff0c;因此对于每…

番外篇2 离线服务器 环境安装与配置

&#xff08;离线远程服务器旧版torch的卸载与安装问题&#xff09; Step4: 查看自己是否已经成功安装了Anaconda,输入此命令conda --version -------------------------------------------------------------------------------------------------------- Step1:离线创建con…

在线诺基亚短信图片生成器工具

在线诺基亚短信图片生成器工具 在线诺基亚短信图片生成器工具 在线诺基亚短信图片生成器,生成老式手机短信图片,生成微信公众号封面图 在线诺基亚短信图片生成器,生成老式手机短信图片,生成微信公众号封面图 在线诺基亚短信图片生成器,生成老式手机短信图片,生成微信公众号封面…