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常用命令详细讲解(最全)

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

<数据集>UA-DETRAC车辆识别数据集<目标检测>

数据集格式&#xff1a;VOCYOLO格式 图片数量&#xff1a;20500张 标注数量(xml文件个数)&#xff1a;20500 标注数量(txt文件个数)&#xff1a;20500 标注类别数&#xff1a;4 标注类别名称&#xff1a;[car, van, others, bus] 序号类别名称图片数框数1car201871259342…

Excel 学习手册 - 精进版(包括各类复杂函数及其嵌套使用)

作为程序员从未想过要去精进一下 Excel 办公软件的使用方法&#xff0c;以前用到某功能都是直接百度&#xff0c;最近这两天跟着哔哩哔哩上的戴戴戴师兄把 Excel 由里到外学了一遍&#xff0c;收获良多。程序员要想掌握这些内容可以说是手拿把掐&#xff0c;对后续 Excel 的运用…

在 Linux 系统中安装MySQL 8.x(Ubuntu和CentOS)

文章目录 0. 前言1. 查看 Linux 的发行版本2. 在 Ubuntu 中安装MySQL 8.x2.1 更新包索引2.1.1 更改 Ubuntu 的镜像源2.1.2 更新软件包、升级软件包&#xff08;耗时可能较长&#xff09;2.1.3 可能遇到的问题 2.2 安装MySQL2.3 安全配置2.3.1 密码安全级别2.3.2 删除匿名用户2.…

【算法笔记自学】第 9 章 提高篇(3)——数据结构专题(2)

9.1树与二叉树 #include <cstdio>int main() {int n, m;scanf("%d%d", &n, &m);printf(n m 1 ? "Yes" : "No");return 0; } 9.2二叉树的遍历 #include <cstdio> #include <vector> using namespace std;const int…

NLP入门——RNN、LSTM模型的搭建、训练与预测

在卷积语言模型建模时&#xff0c;我们选取上下文长度ctx_len进行训练&#xff0c;预测时选取句子的最后ctx_len个分词做预测&#xff0c;这样句子的前0~seql-1-ctx_len个词对于预测没有任何帮助&#xff0c;这对于语言处理来说显然是不利的。 在词袋语言模型建模时&#xff0c…

C语言 底层逻辑详细阐述指针(一)万字讲解 #指针是什么? #指针和指针类型 #指针的解引用 #野指针 #指针的运算 #指针和数组 #二级指针 #指针数组

文章目录 前言 序1&#xff1a;什么是内存&#xff1f; 序2&#xff1a;地址是怎么产生的&#xff1f; 一、指针是什么 1、指针变量的创建及其意义&#xff1a; 2、指针变量的大小 二、指针的解引用 三、指针类型存在的意义 四、野指针 1、什么是野指针 2、野指针的成因 a、指…

【HarmonyOS】关于鸿蒙消息推送的心得体会 (一)

【HarmonyOS】关于鸿蒙消息推送的心得体会&#xff08;一&#xff09; 前言 这几天调研了鸿蒙消息推送的实现方式&#xff0c;形成了开发设计方案&#xff0c;颇有体会&#xff0c;与各位分享。 虽然没做之前觉得很简单的小功能&#xff0c;貌似只需要和华为服务器通信&…

玩转HarmonyOS NEXT之AppStorage应用全局UI状态存储

概述 AppStorage是应用全局的UI状态存储&#xff0c;是和应用的进程绑定的&#xff0c;由UI框架在应用程序启动时创建&#xff0c;为应用程序UI状态属性提供中央存储。 AppStorage是在应用启动的时候会被创建的单例。它的目的是为了提供应用状态数据的中心存储&#xff0c;这…

【HarmonyOS学习】Calendar Kit日历管理

简介 Calendar Kit提供日历与日程管理能力&#xff0c;包括日历的获取和日程的创建能力。 Calendar Kit为用户提供了一系列接口来获取日历账户&#xff0c;并使用特定的接口向日历账户中写入日程。 如果写入的日程带有提醒时间则系统会在时间到达时向用户发送提醒。 约束点…

Linux编程(通信协议---udp)

UDP&#xff08;用户数据报协议&#xff09;是一种无连接的网络协议&#xff0c;主要用于快速传输数据。以下是UDP协议的一些主要特点&#xff1a; 1. **无连接**&#xff1a;UDP是无连接的协议&#xff0c;这意味着在数据传输之前不需要建立连接。每个UDP数据包都是独立的&am…

remote: ERROR: commit b81ea84: missing Change-Id in message footer

首次拉取代码后,在本地已经编辑添加了代码并且想要提交到远端仓库 git add . git commit 当commit之后想要pull的时候报错了 git pull 执行到git pull 时出现这个问题,这是由于Change-Id没了,提示: ! [remote rejected] HEAD -> refs/for/master (commit b81ea84: mis…

git回退分支版本git reset --hard HEAD

git回退分支版本git reset --hard HEAD git reset --hard HEAD 上面命令清除本地所有修改&#xff0c;与下面相似&#xff1a; git reset --hard origin/master 等同于&#xff1a; git reset --hard HEAD~0 说明&#xff1a; HEAD 当前版本 HEAD^ 上一个版本 HEAD^^ 上上…

JVM---对象是否存活及被引用的状态

1.如何判断对象是否存活 1.1 引用计数算法 概念&#xff1a;在对象头部增加一个引用计数器,每当有一个地方引用它时&#xff0c;计数器值就加一&#xff1b;当引用失效时&#xff0c;计数器值就减一&#xff1b;任何时刻计数器为零的对象就是不可能再被使用的。 优点&#xff1…

LabVIEW学习-LabVIEW储存Excel表格

上述实现了将格式化的时间和正弦波的频率振幅相位以及正弦波数据输入到excel表格中。 下面介绍其中使用到的函数&#xff1a; 1. 所在位置&#xff0c;函数选板->定时->获取日期/时间(秒) 2. 将获取的时间进行格式化处理&#xff0c;输出格式化的日期/时间字符串。 函…

AI赋能基础设施巡检,技术革新助力水泥建筑缺陷检测分析,基于YOLOv8模型开发构建水泥建筑场景下裂缝缺陷分割检测识别系统

在现代化城市建设的宏伟蓝图中&#xff0c;公路、隧道、桥梁、大坝等水泥类基础设施如同城市的血脉&#xff0c;支撑着社会的正常运转与经济的蓬勃发展。然而&#xff0c;时间的侵蚀与自然的考验使得这些建筑不可避免地面临老化与损坏的问题&#xff0c;裂缝作为其中最为常见的…

AV1 编码标准环路滤波和后处理技术概述

AV1 环路滤波 去块滤波器 在视频编码的环路滤波管道中&#xff0c;去块滤波器&#xff08;deblocking filter&#xff09;用于减少量化引起的变换块边界处的块状伪影。 总结&#xff1a; 去块滤波器的应用&#xff1a; 对于亮度&#xff08;luma&#xff09;色度分量&#xff…

minIO集成springboot

问题 minIO与spring集成。 步骤 创建桶 创建key 找到创建账号页面&#xff0c;如下图&#xff1a; 点击创建&#xff0c;如下图&#xff1a; 设置如下权限&#xff1a; {"Version": "2012-10-17","Statement": [{"Effect": &q…

华为OD算法题汇总

60、计算网络信号 题目 网络信号经过传递会逐层衰减&#xff0c;且遇到阻隔物无法直接穿透&#xff0c;在此情况下需要计算某个位置的网络信号值。注意:网络信号可以绕过阻隔物 array[m][n]&#xff0c;二维数组代表网格地图 array[i][j]0&#xff0c;代表i行j列是空旷位置 a…

如何在所有docker命令前加上一个sudo

如果当前登录用户不是root不用&#xff0c;使用docker命令的时候&#xff0c;需要在前面加上一个sudo 提升权限。 但是每次都加&#xff0c;就感觉特别的麻烦&#xff0c;如何简化呢&#xff1f; 解决办法 打开你的shell配置文件&#xff08;例如&#xff0c;如果你使用bash&am…

Spring Cloud Eureka快读入门Demo

1.什么是Eureka&#xff1f; Eureka 由 Netflix 开发&#xff0c;是一种基于REST&#xff08;Representational State Transfer&#xff09;的服务&#xff0c;用于定位服务&#xff08;服务注册与发现&#xff09;&#xff0c;以实现中间层服务的负载均衡和故障转移&#xff…