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

mongoDB基本命令操作

文章目录

  • 1. 安装
    • (1). 启动mongodb
    • (2). 数据库连接
  • 2. 基本命令
    • (1) 数据库操作
    • (2) 集合操作
    • (3) 文档操作
      • 1) 简单查询
      • 2) 条件查询
      • 3) 投影查询
      • 4) 文档更新
      • 5) 列值增长修改
      • 6) 删除文档
      • 7) 分页查询
      • 8) 排序查询
      • 9) 正则查询(模糊查询)
      • 10) 比较查询
      • 11) 包含查询
  • 3. 索引
    • (1) 执行计划

1. 安装

官网:https://www.mongodb.com/try/download/community

(1). 启动mongodb

# 命令行加参数
mongod  --dbpath=..\data\db# 命令行加配置文件,需要先编写配置文件
mongod -f ..\conf\mongod.conf

(2). 数据库连接

# 默认链接本地27017端口
mongo
# 指定连接mongo --host=127.0.0.1 --port=27017

2. 基本命令

(1) 数据库操作

#  查看所有数据库
show dbs  或者 show database# 创建使用数据库,存在使用不存在创建使用
use dbName#  当前数据
db#  删除数据库
db.dropDatabse()

(2) 集合操作

#  集合创建db.createCollection("set1")#  集合查看show collections
#  删除集合
db.集合名称.drop()

(3) 文档操作

#  单文档插入(json格式插入),如果集合不存在会自动创建
db.set1.insert({"id":1,"name":"zhangsan","age":23})
#  多文档插入
db.set1.insertMany([{"id":1,"name":"zhangsan","age":23},{"id":2,"name":"lisi","age":24}])

1) 简单查询

#  查询 
db.集合名称.find()
# 查询一条数据
db.集合名称.findOne()

2) 条件查询

#  根据条件查询(json格式指定条件,如{"id":1})
db.集合名称.find("条件")# 多条件(与或)
db.集合名称.find({$and[{"条件集合"}]})
db.集合名称.find({$or[{"条件集合"}]})

3) 投影查询

投影: 选择列

db.集合名称.find({查询条件},{投影条件})
例如:  db.set1.findOne({},{"name":1})

4) 文档更新

#  全局更新,使用更新内容替换原来的文档(默认为第一个)
db.集合名.update({条件},{更新内容})#  局部更新(只会修改指定字段)
db.集合名称.update({条件},{$set:{更新内容}})
例如:  db.set1.update({"name":"wangwu"},{$set:{"age":18}})# 批量修改(上面语句默认修改一条) 使用updateMany命令
db.set1.updateMany({"name":"wangwu"},{$set:{"age":18}})

5) 列值增长修改

#  使用$inc函数为增加
db.集合名称.update({条件}{$inc:{"增加字段":增加值}})

6) 删除文档

#  会删除条件匹配的所有数据
db.集合名称.remove({条件})
#  删除集合中全部数据
db.集合名称.remove()

7) 分页查询

# 统计,不带条件统计所有
db.集合名称.count({查询条件})#  查询前2条记录
db.集合名称.find().limit(2)
# 跳过前2条数据
db.集合名称.find().limit(2)# 分页查询(配合skip和limit)
db.集合名称.find().limit(2).skip(3)

8) 排序查询

# 1为降序,-1为升序
db.集合名称.find().sort({排序字段:1})

9) 正则查询(模糊查询)

db.集合名称.find({查询条件:/正则/})

10) 比较查询

db.集合名称.find({"字段":{$指令:值}})
/*
指令: >			gt<			lt>= 			gte<=			lte!=			ne
*/

11) 包含查询

db.集合名称.find({"字段":{$in:["匹配集合"]}})

3. 索引

索引: 通过特定数据结构,提高查询效率(B树)

查看索引:

# 查询集合中所有索引
db.集合名称.getIndexs()
/*
[ { "v" : 2, "key" : { "_id" : 1 }, "name" : "_id_" } ]
v :  		索引版本
key: 		索引字段_id:	升序(-1降序)
name: 		索引名称
*/

创建索引:

db.集合名称.createIndex(keys,[options])
例如: db.set1.createIndex({"id":1})
/*
kyes: 为给哪些key创建索引options(常用): unique: 唯一索引name: 	索引名称
*/

删除索引:

db.集合名称.dropIndex({指定名称或者条件})
例如: db.set1.dropIndex({"id":1})# 删除所有索引
db.集合名称.dropIndexes()

(1) 执行计划

相当于mysql的: explain

db.集合名称.find().explain()

相关文章:

mongoDB基本命令操作

文章目录 1. 安装(1). 启动mongodb(2). 数据库连接 2. 基本命令(1) 数据库操作(2) 集合操作(3) 文档操作1) 简单查询2) 条件查询3) 投影查询4) 文档更新5) 列值增长修改6) 删除文档7) 分页查询8) 排序查询9) 正则查询(模糊查询)10) 比较查询11) 包含查询 3. 索引(1) 执行计划 1…...

MySQL索引,事务

一.MySQL索引介绍 索引是一个排序的列表&#xff0c;在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在数据十分大的时候&#xff0c;索引可以大大加快查询的速度。这是因为使用索引后可以不用扫描全表来定位某行的数据&#xff0c;而是先通过索引表找到该行数…...

嵌入式软件面试记录(5)

1.FreeRTOS使用&#xff0c;是自己移植的吗&#xff0c;移植过程中设置了多少个任务&#xff1f; 答&#xff1a;是自己移植的&#xff0c;从官网下载的包根据手册移植的。 主要涉及以下几个任务&#xff1a; 主任务&#xff1a;负责系统初始化和创建其他任务。创建队列任务点…...

Linux-笔记 OverlayFS文件系统入门

目录 前言 主要概念 工作原理 特点特性 1、上下合并 2、同名文件覆盖 3、同名目录合并 4、写时拷贝 实操入门 内核配置 挂载文件系统 验证 1、同名文件覆盖 2、同名目录合并 3、写时拷贝 1&#xff09;验证新增文件或目录 2&#xff09;验证修改文件 3&…...

Kubernetes面试整理-如何配置和使用Service, Ingress?

在 Kubernetes 中,Service 和 Ingress 是用于管理和暴露应用程序的网络访问的主要资源。以下是如何配置和使用 Service 和 Ingress 的详细指南: Service Service 是一种抽象,用于定义一组 Pod 的逻辑集合,并提供一种访问这些 Pod 的策略。Service 可以使应用程序内部或外部…...

深入浅出:NPM常用命令详解与实践

深入浅出地讲解npm常用命令及其实践&#xff0c;可以帮助开发者更好地理解和使用这个强大的Node.js 包管理工具。以下是一些常用的npm命令及其详细解释和实践案例&#xff1a; 1&#xff1a;初始化项目&#xff1a; 命令&#xff1a;npm init用途&#xff1a;生成一个package…...

IPv6 address status lifetime

IPv6 地址状态转换 Address lifetime (地址生存期) 每个配置的 IPv6 单播地址都有一个生存期设置&#xff0c;该设置确定该地址在必须刷新或替换之前可以使用多长时间。某些地址设置为“永久”并且不会过期。“首选”和“有效”生存期用于指定其使用期限和可用性。 自动配置的…...

OpenVINO部署

OpenVINO部署 什么是 OpenVINO&#xff1f;OpenVINO 的优势安装指南系统要求&#xff1a;安装步骤 环境设置部署示例代码优化和部署步骤详细部署示例 什么是 OpenVINO&#xff1f; OpenVINO&#xff08;Open Visual Inference and Neural Network Optimization&#xff09;是由…...

面试题:MySQL优化,项目中举例

目录 一、SQL优化分两部分&#xff0c;如何发现慢SQL和如何优化慢SQL 二、项目举例 一、SQL优化分两部分&#xff0c;如何发现慢SQL和如何优化慢SQL 发现慢SQL有两种方案&#xff1a;第一种是开启我们的慢日志&#xff0c; 第二种就是使用skywalling发现慢的接口&#xff0c;进…...

Spring Boot中的事件驱动编程

Spring Boot中的事件驱动编程 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将深入探讨在Spring Boot应用中如何利用事件驱动编程模式&#xff0c;实现…...

代码随想录算法训练营第五十天| 1143.最长公共子序列、1035.不相交的线、53. 最大子序和、392.判断子序列

LeetCode 1143.最长公共子序列 题目链接&#xff1a;https://leetcode.cn/problems/longest-common-subsequence/description/ 文章链接&#xff1a;https://programmercarl.com/1143.%E6%9C%80%E9%95%BF%E5%85%AC%E5%85%B1%E5%AD%90%E5%BA%8F%E5%88%97.html 思路 * dp[i][j]…...

【Redis】数据持久化

https://www.bilibili.com/video/BV1cr4y1671t?p96 https://blog.csdn.net/weixin_54232666/article/details/128821360 单点redis问题&#xff1a; 数据丢失问题&#xff1a;实现Redis数据持久化并发能力问题&#xff1a;搭建主从集群&#xff0c;实现读写分离故障恢复问题&…...

基于Python+Flask+MySQL+HTML的B站数据可视化分析系统

FlaskMySQLVue 基于PythonFlaskMySQLHTML的B站数据可视化分析系统 项目采用前后端分离技术&#xff0c;项目包含完整的前端HTML&#xff0c;以及Flask构成完整的前后端分离系统 爬虫文件基于selenium&#xff0c;需要配合登录账号 简介 主页 登录页面&#xff0c;用户打开浏…...

桥接模式

对象的继承关系是在编译时就定义好了&#xff0c;所以无法在运行时改变从父类继承的实现。子类的实现与它的父类有非常紧密的依赖关系&#xff0c;以至于父类实现中的任何变化必然会导致子类发生变化。当你需要复用子类时&#xff0c;如果继承下来的实现不适合解决新的问题&…...

docker中mysql突然无法远程连接设置

docker登陆到docker.hub docker login -u 用户名 回车密码 将容器打包成自己的镜像 docker commit -a "用户名" -m "redis" 533d6f1402ca 用户名/myredis:v1.2 将镜像发布到平台上 docker push用户名/myredis:v1.2 删除本地镜像 docker rm image …...

Nuxt3 的生命周期和钩子函数(二)

title: Nuxt3 的生命周期和钩子函数&#xff08;二&#xff09; date: 2024/6/26 updated: 2024/6/26 author: cmdragon excerpt: 摘要&#xff1a;本文深入介绍了Nuxt.js框架中几个关键的生命周期钩子函数&#xff0c;包括app:redirected&#xff08;SSR环境下重定向前触发…...

用英文介绍孟买:Mumbai India‘s Transforming MEGACITY

Mumbai: India’s Transforming MEGACITY Link: https://www.youtube.com/watch?vtWD_-Rzrn8o Summary First Paragraph: Mumbai, India’s financial and entertainment capital, is undergoing a major transformation. With its contiguous urban population nearing 25…...

镜像发布至dockerHub

1、login 没有账号的话去注册一个 https://hub.docker.com docker login 输入账号密码和账号2、修改镜像名格式 可以直接招我的修改 格式为你的 hub名/镜像名 3、推送...

vscode + CMake编译(opencv显示图片工程)

1.opencv 1.1Mat容器&#xff1a; 在OpenCV中&#xff0c;cv::Mat是一个重要的类&#xff0c;用于表示和操作矩阵或多维数组&#xff0c;通常用于图像处理和计算机视觉任务。 cv::Mat类具有以下特点和功能&#xff1a; 多维数据存储&#xff1a;cv::Mat可以存储多维数据&…...

JavaScript的学习之强制类型转换

目录 一、什么是强制类型转换 二、其他类型转化为String类型 方式一&#xff1a;调用被转化数据类型的toString()方法 方式二&#xff1a;调用String函数&#xff0c;并将我们要转换的数据添加进去为参数 三、其他类型转化为Number类型 方式一&#xff1a;使用Number()函数…...

Cursor实现用excel数据填充word模版的方法

cursor主页&#xff1a;https://www.cursor.com/ 任务目标&#xff1a;把excel格式的数据里的单元格&#xff0c;按照某一个固定模版填充到word中 文章目录 注意事项逐步生成程序1. 确定格式2. 调试程序 注意事项 直接给一个excel文件和最终呈现的word文件的示例&#xff0c;…...

设计模式和设计原则回顾

设计模式和设计原则回顾 23种设计模式是设计原则的完美体现,设计原则设计原则是设计模式的理论基石, 设计模式 在经典的设计模式分类中(如《设计模式:可复用面向对象软件的基础》一书中),总共有23种设计模式,分为三大类: 一、创建型模式(5种) 1. 单例模式(Sing…...

Linux 文件类型,目录与路径,文件与目录管理

文件类型 后面的字符表示文件类型标志 普通文件&#xff1a;-&#xff08;纯文本文件&#xff0c;二进制文件&#xff0c;数据格式文件&#xff09; 如文本文件、图片、程序文件等。 目录文件&#xff1a;d&#xff08;directory&#xff09; 用来存放其他文件或子目录。 设备…...

React Native 导航系统实战(React Navigation)

导航系统实战&#xff08;React Navigation&#xff09; React Navigation 是 React Native 应用中最常用的导航库之一&#xff0c;它提供了多种导航模式&#xff0c;如堆栈导航&#xff08;Stack Navigator&#xff09;、标签导航&#xff08;Tab Navigator&#xff09;和抽屉…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

Docker 运行 Kafka 带 SASL 认证教程

Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明&#xff1a;server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...

uniapp中使用aixos 报错

问题&#xff1a; 在uniapp中使用aixos&#xff0c;运行后报如下错误&#xff1a; AxiosError: There is no suitable adapter to dispatch the request since : - adapter xhr is not supported by the environment - adapter http is not available in the build 解决方案&…...

iview框架主题色的应用

1.下载 less要使用3.0.0以下的版本 npm install less2.7.3 npm install less-loader4.0.52./src/config/theme.js文件 module.exports {yellow: {theme-color: #FDCE04},blue: {theme-color: #547CE7} }在sass中使用theme配置的颜色主题&#xff0c;无需引入&#xff0c;直接可…...

在树莓派上添加音频输入设备的几种方法

在树莓派上添加音频输入设备可以通过以下步骤完成&#xff0c;具体方法取决于设备类型&#xff08;如USB麦克风、3.5mm接口麦克风或HDMI音频输入&#xff09;。以下是详细指南&#xff1a; 1. 连接音频输入设备 USB麦克风/声卡&#xff1a;直接插入树莓派的USB接口。3.5mm麦克…...