MongoDB常用命令大全

一、MongoDB简介

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

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

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

SQL术语/概念 MongoDB术语/概念 解释/说明
database database 数据库
table collection 数据库表/集合
row document(集合中的数据) 数据记录行/文档
column field 数据字段/域
index index 索引
table joins 表连接,MongoDB不支持
primary key primary key 主键,MongoDB自动将_id字段设置为主键

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

数据库服务 客户端
Mysqld/Oracle mysql/sqlplus
mongodb mongo

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

相关推荐

  1. mongodb命令

    2024-07-17 06:44:01       45 阅读
  2. mongodb-命令

    2024-07-17 06:44:01       23 阅读
  3. Git命令大全

    2024-07-17 06:44:01       51 阅读
  4. 华为命令大全

    2024-07-17 06:44:01       48 阅读
  5. Git命令大全

    2024-07-17 06:44:01       59 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-17 06:44:01       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-17 06:44:01       72 阅读
  3. 在Django里面运行非项目文件

    2024-07-17 06:44:01       58 阅读
  4. Python语言-面向对象

    2024-07-17 06:44:01       69 阅读

热门阅读

  1. 【云原生网络CNI】容器网络接口CNI的使用和管理

    2024-07-17 06:44:01       27 阅读
  2. 索引是什么

    2024-07-17 06:44:01       22 阅读
  3. 前端路由实现

    2024-07-17 06:44:01       24 阅读
  4. 如何使用ASPICE?

    2024-07-17 06:44:01       25 阅读
  5. 论文调研_组件识别相关

    2024-07-17 06:44:01       32 阅读
  6. minimap2安装与使用(v 2.28)生物信息学工具26

    2024-07-17 06:44:01       24 阅读
  7. CSS 导航栏:设计、定制与优化

    2024-07-17 06:44:01       24 阅读
  8. 用python写一个tcp/ip协议的聊天软件

    2024-07-17 06:44:01       24 阅读
  9. STM32微控制器的高级控制算法(内附资料)

    2024-07-17 06:44:01       29 阅读
  10. Python编码规范详解

    2024-07-17 06:44:01       22 阅读