MongoDB常用命令大全

文章目录

  • 一、MongoDB简介
  • 二、服务启动停止备份
  • 三、数据库相关
  • 四、集合操作
  • 五、文档操作
  • 六、其他常用命令

一、MongoDB简介

MongoDB是一款流行的NoSQL数据库,以其灵活的文档模型、高可用性、易于扩展等特性而受到广泛关注。

  • MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统;在高负载的情况下,添加更多的节点,可以保证服务器性能;MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案;MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成;MongoDB 文档类似于 JSON 对象。
  • 特点:高性能、高可用、高扩展、丰富的查询支持、动态模式和灵活的文档模型
  • 应用场景:网站实时数据处理;缓存;高伸缩性的场景

在MongoDB中基本的概念是文档、集合、数据库。

SQL术语/概念MongoDB术语/概念解释/说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument(集合中的数据)数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表连接,MongoDB不支持
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

数据库服务和对应的客户端

数据库服务客户端
Mysqld/Oraclemysql/sqlplus
mongodbmongo

在MongoDB中,常用命令包括数据库操作、集合操作、文档操作等几个方面。以下是MongoDB的一些常用命令及其说明

二、服务启动停止备份

#windows cmd   或   Linux 终端
mongo --version#启动
#Windows启动与停止    命令行指令、任务管理器手动启动停止
#以管理员方式运行cmd,输入以下命令
net start mongodb
net stop mongodb    #停止mongodb服务
netstat -aon | findstr 27017#Linux启动与停止
/xxx/mongodb-server/bin/mongod -f /xxx/mongodb-server/conf/mongodb.conf     #启动
ps -ef | grep mongodb-server
netstat -tunlp | grep 27017
ps -aef | grep mongodb-server | grep -v grep | awk '{print $2}' | xargs -t kill -9           #停止#连接mongodb  
mongo        #无密码
mongo 10.169.215.xx:27017/admin  -uroot  -p1234    #有密码
mongo localhost:27017/admin -uroot -p密码     
mongo admin -uroot -p密码

windows下启动、停止、查看mongodb

在这里插入图片描述

linux下启动、停止、查看mongodb

在这里插入图片描述

三、数据库相关

  1. 连接数据库
    • 使用MongoDB Shell连接:mongo [host]:[port]/[dbname],其中[host]是数据库服务器地址,[port]是端口号(默认为27017),[dbname]是数据库名。如果连接本地数据库,可以简化为mongomongo localhost;有密码则需要加上对应的参数 -u、-p
    • 使用完整连接字符串:mongodb://[username:password@]host1[:port1][,host2[:port2],...[,hostN[:portN]]][/[database][?options]]
  2. 查询所有数据库
    • 命令:show dbs
  3. 创建/切换数据库
    • 命令:use database_name。如果数据库不存在,则创建并切换到该数据库;如果数据库已存在,则直接切换到该数据库。
  4. 删除数据库
    • 先切换到要删除的数据库,然后执行命令:db.dropDatabase()
  5. 查看当前使用的数据库
    • 命令:dbdb.getName()
#mongodb命令行show dbs                 #查询所有数据库
use database_name        #创建/切换数据库
db.dropDatabase()        #删除数据库
db 或 db.getName()       #查看当前使用的数据库

在这里插入图片描述

四、集合操作

  1. 创建集合
    • 命令:db.createCollection(name, options)。其中name是集合名称,options是可选参数,用于指定集合的特性,如固定集合(capped collection)的大小和最大文档数。
  2. 查看所有集合
    • 命令:show collections
  3. 删除集合
    • 命令:db.collection_name.drop()。成功删除集合将返回true

五、文档操作

  1. 插入文档
    • 单条插入:db.collection_name.insert(document)db.collection.insertOne(document)
    • 多条插入:db.collection_name.insert([document1, document2, ...])db.collection.insertMany([document1, document2, ...])
  2. 查询文档
    • 查询所有文档:db.collection_name.find()
    • 查询满足条件的文档:db.collection_name.find(query),其中query是查询条件。
    • 格式化显示查询结果:db.collection_name.find().pretty()
    • 查询并返回第一个匹配的文档:db.collection_name.findOne(query)
  3. 更新文档
    • 使用update方法:db.collection.update(query, update, {upsert: <boolean>, multi: <boolean>})。其中query是查询条件,update是更新内容,upsert表示如果不存在满足条件的文档,是否插入新文档(默认为false),multi表示是否更新所有满足条件的文档(默认为false,只更新第一个)。
    • 使用$set操作符更新字段:db.collection.update(query, {$set: {field: value}})
  4. 删除文档
    • 删除满足条件的文档:db.collection.remove(query, {justOne: <boolean>})。其中query是删除条件,justOne表示是否只删除第一个匹配的文档(默认为false,删除所有匹配的文档)。
    • 使用deleteOnedeleteMany方法(MongoDB 3.2+):db.collection.deleteOne(query)db.collection.deleteMany(query)

六、其他常用命令

  • 查看帮助db.help()db.collection.help()
  • 查看集合状态db.collection.stats()
  • 修复数据库db.repairDatabase()
  • 复制/克隆数据库db.cloneDatabase("hostname")db.copyDatabase("fromdb", "todb", "hostname")

参考 MongoDB常用命令详细讲解(最全)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/47023.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【Java】stream流

什么是stream流 stream流可以通过简单的方式去处理一个数据集合&#xff0c;而不用通过冗杂的循环遍历 Stream中的元素是以Optional类型存在的 optional 允许元素为空 stream流有什么特性 stream不存储数据&#xff0c;而是按照特定的规则对数据进行计算&#xff0c;一般会输…

C# SM1、SM2、SM3、SM4如何使用

在中国&#xff0c;SM系列算法&#xff08;SM1、SM2、SM3、SM4&#xff09;是国家商用密码管理局发布的密码算法标准&#xff0c;广泛应用于信息安全领域。然而&#xff0c;需要注意的是&#xff0c;由于这些算法涉及国家安全和商业秘密&#xff0c;它们的实现细节和具体使用方…

【EXCELL技巧篇】使用Excel公式,获取当前 Excel的Sheet页的名字

【通知】&#xff1a; 正式跟大家说个难过的消息&#xff0c;本来在「中国朝代史」结束后&#xff0c;开启的下一个专栏「中国近代史」前面几期做的还好好的&#xff0c;可是今天起正式通知审核不过&#xff0c;因为一些原因。 其实我对于历史这一块我还是很感兴趣的&#xff0…

GB35114国密算法-GMSSL

C有个三方库-GMSSL是可以进行GB35114所需要的SM2、SM3、SM4等加解密算法的&#xff0c;但是使用国密算法是需要申请报备的 GmSSL是由北京大学自主开发的国产商用密码开源库&#xff0c;实现了对国密算法、标准和安全通信协议的全面功能覆盖&#xff0c;支持包括移动端在内的主流…

【YashanDB知识库】调整NUMBER精度,再执行统计信息收集高级包偶现数据库异常退出

【问题分类】功能使用 【关键字】NUMBER类型精度修改&#xff0c;统计信息收集 【问题描述】存量的表将NUMBER类型的字段精度从小精度调整为大精度时&#xff0c;数据库收集这张业务表的统计信息时&#xff0c;会导致数据库异常退出。 【问题原因分析】YashanDB NUMBER字段精…

工业三防平板可优化工厂流程管理

在当今高度自动化和数字化的工业生产环境中&#xff0c;工业三防平板正逐渐成为优化工厂流程管理的关键工具。其强大的功能和卓越的性能&#xff0c;为工厂带来了更高的效率、更低的成本以及更出色的质量控制。 工业三防平板&#xff0c;顾名思义&#xff0c;具备防水、防尘、防…

gradle学习及问题

一、下载安装 参考&#xff1a;https://blog.csdn.net/chentian114/article/details/123344839 1、下载Gradle并解压 安装包&#xff1a;gradle-6.7-bin.zip 可以在idea的安装目录查看自己适配的版本 路径&#xff1a;D:\IDEA2021.3\plugins\gradle\lib 下载地址&#xff1a…

Qcom平台通过Hexagon IDE 测试程序性能指导

Qcom平台通过Hexagon IDE 测试程序性能指导 1 安装Hexagon IDE工具2 测试工程2.1 打开Hexagon IDE2.2 新建工程2.3 添加测试案例2.3.1 方法一&#xff1a;新建2.3.2 方法二&#xff1a;拷贝 2.4 配置测试环境2.4.1 包含头文件2.4.2 添加程序优化功能(需先bulid一下)2.4.3 添加g…

SEO效果好的wordpress主题

Cyber赛博独立站wordpress主题&#xff0c;黄色风格的产品展示型外贸独立站wordpress建站模板。 https://www.jianzhanpress.com/?p7135 Nebula奈卜尤拉wordpress主题模板&#xff0c;适合搭建外贸独立站使用的wordpress主题。 https://www.jianzhanpress.com/?p7084 绿色简…

使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-标题菜单及游戏结束界面(九)

文章目录 开发思路标题菜单界面标题菜单脚本代码结束菜单界面结束菜单脚本代码 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击&#xff08;一&#xff09; 使用Godot4组件制作竖版太空射击游戏_2D卷轴飞机射击-激光组件&#xff08;二&#xff09; 使用Godot4组件制作竖版…

中英双语介绍一级市场(Primary Market)和二级市场(Secondary Market)

中文版 一级市场和二级市场是金融市场中的两个主要部分&#xff0c;分别对应证券发行和交易的不同阶段。 一级市场&#xff08;Primary Market&#xff09; 定义&#xff1a; 一级市场&#xff0c;又称新发行市场&#xff0c;是指证券首次发行和出售的市场。在一级市场中&am…

前端基础之JavaScript学习——变量、数据类型、类型转换

大家好&#xff0c;我是来自CSDN的博主PleaSure乐事&#xff0c;今天我们开始有关JS的学习&#xff0c;希望有所帮助并巩固有关前端的知识。 我使用的编译器为vscode&#xff0c;浏览器使用为谷歌浏览器&#xff0c;使用webstorm或其他环境效果几乎一样&#xff0c;使用系统自…

【JavaEE】HTTP(2)

&#x1f921;&#x1f921;&#x1f921;个人主页&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;JavaEE专栏&#x1f921;&#x1f921;&#x1f921; &#x1f921;&#x1f921;&#x1f921;下一篇文章&#xff1a;【JavaEE】HTTP协议(…

ELK日志管理

文章目录 一、ELK概述什么是ELK?为什么使用ELK&#xff1f;ELK的工作原理 二、安装部署ELK前期准备安装部署Elasticsearch 软件修改系统配置安装插件在应用服务器上部署 Logstash安装 kibana 一、ELK概述 什么是ELK? 通俗来讲&#xff0c;ELK 是由 Elasticsearch、Logstash…

vue3+TS从0到1手撸后台管理系统

1.路由配置 1.1路由组件的雏形 src\views\home\index.vue&#xff08;以home组件为例&#xff09; 1.2路由配置 1.2.1路由index文件 src\router\index.ts //通过vue-router插件实现模板路由配置 import { createRouter, createWebHashHistory } from vue-router import …

集合媒体管理、分类、搜索于一体的开源利器:Stash

Stash&#xff1a;强大的媒体管理工具&#xff0c;让您的影音生活井井有条- 精选真开源&#xff0c;释放新价值。 概览 Stash是一个专为个人媒体管理而设计的开源工具&#xff0c;基于 Go 编写&#xff0c;支持自部署。它以用户友好的界面和强大的功能&#xff0c;满足了现代用…

每日刷题(cf)

目录 1.C. Increasing Sequence with Fixed OR 2.C. Jellyfish and Green Apple 3.B. Jellyfish and Game 1.C. Increasing Sequence with Fixed OR Problem - C - Codeforces 题目要求我们构造一个最长的序列&#xff0c;使得任意相邻两个元素按位或等于n&#xff0c;我们对…

网络安全-网络安全及其防护措施5

21.互联网交换点&#xff08;ISP) IXP的定义和作用 互联网交换点&#xff08;IXP&#xff09;是一个物理基础设施&#xff0c;通过它&#xff0c;互联网服务提供商&#xff08;ISP&#xff09;和内容提供商可以互相交换互联网流量。IXP的目的是提高网络性能、降低带宽成本和减…

【源码阅读】osproxy对象存储分布式代理(1)

osproxy 项目地址 osproxy是一个使用Go语言开发的对象存储分布式代理(object-storage-distributed-proxy)&#xff0c;可以作为文件存储微服务&#xff0c;文件会在服务中转处理后再对接到对象存储&#xff0c;包括但不限于以下功能&#xff1a; 分布式uid及秒传&#xff0c;…

数仓工具—Hive语法之事务表更新Transactional Table Update

Hive事务表更新 众所周知,Apache Hive 是建立在 Hadoop HDFS 之上的数据仓库框架。由于它包含表,您可能希望根据数据的变化更新表记录。直到最近,Apache Hive 还不支持事务。从 Hive 0.14 及以上版本开始支持事务性表。您需要启用 ACID 属性才能在 Hive 查询中使用更新、删…