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

mongoDB常见指令

即使我们自己开发用不到mongoDB,但是接手别人项目的时候,别人如果用了,我们也要会简单调试一下

虽然mongoDB用的不是sql语句,但语句的逻辑都是相似的,比如查看数据库、数据表,增删改查这些

我们下面以docker为例,使用mongoDB

目录

1  开启mongo容器

2  进入mongoDB

3  查看mongo中的数据库 show databases

4  操作数据库常用指令

4.1  创建数据库

4.1.1  使用数据库 use [数据库名称]

4.1.2  创建数据表 db.createCollection("[数据表名称]")

4.1.3  查看结果

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

5  操作数据表常用命令

5.1  创建数据表 db.createCollection("[数据表名称]")

5.2  查看选择数据库中的所有数据表 show collections

5.3  删除数据表 db.[数据表名称].drop()

6  修改数据表内容常用指令

6.1  在数据表中插入数据 db.[数据表名称].insert({["键"]:["值"]})

6.2  查看数据表中所有数据 db.[数据表名称].find()

6.3  查看数据表中含有某特征的数据 db.[数据表名称].find({"[特征键]":"[特征值]"})

6.4  更改数据 db.[数据表名称].update({"[特征键]":["特征值"],{$set:{"[要改的键]":"[要改的值]"}}})

6.5  删除数据表某条数据 db.[数据表名称].remove({"[特征键]":"[特征值]"})


1  开启mongo容器

比如我们现在有一个mongo的镜像

执行docker run -d -p 27017:27017 mongo 可以开启mongo容器

  • 正如mysql的3306一样,mongo的默认端口是27017

2  进入mongoDB

比如我通过docker ps发现目前有一个开启的docker mongoDB容器

之后执行 docker exec -it [容器ID] bash 进入这个容器

之后再执行mongo,就可以执行mongo命令了

3  查看mongo中的数据库 show databases

后面是 0G 就相当于这个数据库中 基本 没有数据

4  操作数据库常用指令

4.1  创建数据库

mongodb不需要命令创建数据库,直接使用数据库,然后再创建一个数据表,会自动创建数据库

比如我下面想创建一个叫something的数据库

4.1.1  使用数据库 use [数据库名称]

4.1.2  创建数据表 db.createCollection("[数据表名称]")

比如我要创建一个叫 soemthing_collection 的数据表

4.1.3  查看结果

这个时候再查看数据库就能看到创建的 something 这个数据库了

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

mongo只能使用某一个数据库,然后再删除他,比如我要删除这里的something

那我首先要使用something这个数据库,然后再执行 db.dropDatabase()

执行后发现没有something这个数据库了

5  操作数据表常用命令

5.1  创建数据表 db.createCollection("[数据表名称]")

比如我要创建一个叫 soemthing_collection 的数据表

5.2  查看选择数据库中的所有数据表 show collections

首先选择数据库(如果之前选择过就不需要再选了),之后执行show collections可以查看选择数据库中的所有数据表

5.3  删除数据表 db.[数据表名称].drop()

比如我要删除 show collections 这个数据表

再看就没有了

6  修改数据表内容常用指令

6.1  在数据表中插入数据 db.[数据表名称].insert({["键"]:["值"]})

  • 创建后会自动添加主键id

6.2  查看数据表中所有数据 db.[数据表名称].find()

6.3  查看数据表中含有某特征的数据 db.[数据表名称].find({"[特征键]":"[特征值]"})

比如我想找name为suyu的数据

6.4  更改数据 db.[数据表名称].update({"[特征键]":["特征值"],{$set:{"[要改的键]":"[要改的值]"}}})

比如我要修改这一条

我可以通过这一条的id进行修改,然后把name的值改成123

发现可以成功修改

6.5  删除数据表某条数据 db.[数据表名称].remove({"[特征键]":"[特征值]"})

一般来讲我们可以在表中加一个键,然后给后端判断显示还是不显示,这种叫隐形删除。如果用了remove()指令就是直接删除

比如我们要删这一条数据

然后用remove删,建议将特征键选为ID,选为ID不会误删

执行后发现那条要删的数据就没有了

http://www.lryc.cn/news/526150.html

相关文章:

  • 人工智能之深度学习_[5]-神经网络优化学习率衰减优化正则化方法
  • Oracle之Merge into函数使用
  • 深度解析:哪种心磁图技术是心脏检查的精准之选?
  • SpringBoot--基本使用(配置、整合SpringMVC、Druid、Mybatis、基础特性)
  • 单片机-STM32 IIC通信(OLED屏幕)(十一)
  • 观察者模式 - 观察者模式的应用场景
  • 【C++】详细讲解继承(下)
  • 消息队列篇--原理篇--Pulsar(Namespace,BookKeeper,类似Kafka甚至更好的消息队列)
  • 扬帆数据结构算法之舟,启航C++探索征途——LeetCode深度磨砺:顺序表技术精进实践
  • 基于本地事务表+MQ实现分布式事务
  • 数据结构:二叉树—面试题(一)
  • 【Wordpress网站制作】切换语言的问题
  • 【第二天】零基础入门刷题Python-算法篇-数据结构与算法的介绍-五种常见的排序算法(持续更新)
  • Neural networks 神经网络
  • 汽车免拆诊断案例 | 2007 款日产天籁车起步加速时偶尔抖动
  • 代码随想录day3
  • Spring 面试题【每日20道】【其一】
  • leetcode刷题记录(八十九)——35. 搜索插入位置
  • Flutter 与 React 前端框架对比:深入分析与实战示例
  • 基于Docker的Spark分布式集群
  • Web 代理、爬行器和爬虫
  • MySQL 事件调度器
  • 直线拟合例子 ,岭回归拟合直线
  • Flutter android debug 编译报错问题。插件编译报错
  • 关于IPD流程的学习理解和使用
  • C# 类(Class)
  • Jenkins pipline怎么设置定时跑脚本
  • PostgreSQL模糊查询相关学习参考
  • 【电脑无法通过鼠标和键盘唤醒应该怎么办】
  • Java 大视界 -- Java 大数据中的数据脱敏技术与合规实践(60)