MongoDb-01——Mac上安装MongoDb以及相关的简单命令

MongoDb-01------Mac上安装MongoDb以及相关的简单命令

  • [1. 下载、安装](#1. 下载、安装)
    • [1.1 官网下载](#1.1 官网下载)
    • [1.2 关于安装MongoDB](#1.2 关于安装MongoDB)
      • [1.2.1 官方安装文档](#1.2.1 官方安装文档)
      • [1.2.2 Mac安装详细步骤(使用brew)](#1.2.2 Mac安装详细步骤(使用brew))
  • [2. 启动MongoDB](#2. 启动MongoDB)
    • [2.1 官方说明](#2.1 官方说明)
    • [2.2 作为macOS服务运行的相关命令](#2.2 作为macOS服务运行的相关命令)
    • [2.3 访问](#2.3 访问)
  • [3. 链接并使用mongodb](#3. 链接并使用mongodb)
    • [3.1 链接mongodb](#3.1 链接mongodb)
    • [3.2 简单使用mongodb](#3.2 简单使用mongodb)
      • [3.2.1 简单命令](#3.2.1 简单命令)
      • [3.2.2 简单crud使用(文档命令)](#3.2.2 简单crud使用(文档命令))
        • [3.2.2.1 插入数据](#3.2.2.1 插入数据)
        • [3.2.2.2 查询数据](#3.2.2.2 查询数据)
          • [3.2.2.2.1 一般查询](#3.2.2.2.1 一般查询)
          • [3.2.2.2.2 模糊查询](#3.2.2.2.2 模糊查询)
          • [3.2.2.2.3 排序查询](#3.2.2.2.3 排序查询)
          • [3.2.2.2.4 分页查询](#3.2.2.2.4 分页查询)
        • [3.2.2.3 修改数据](#3.2.2.3 修改数据)
        • [3.2.2.4 删除数据](#3.2.2.4 删除数据)
        • [3.2.2.5 更多操作参考](#3.2.2.5 更多操作参考)
          • [3.2.2.5.1 更多语法及例子](#3.2.2.5.1 更多语法及例子)
          • [3.2.2.5.2 操作符等其他更多文档](#3.2.2.5.2 操作符等其他更多文档)
  • [4. navicat链接](#4. navicat链接)

1. 下载、安装

1.1 官网下载

1.2 关于安装MongoDB

1.2.1 官方安装文档

1.2.2 Mac安装详细步骤(使用brew)

  • 我这里也是参考上面安装步骤,使用 brew 进行安装的,具体请看下面步骤。
    关于 brew ,如果没有安装的,请移步下面的文章:
    mac上安装Homebrew的详细介绍包括解决各种问题以及使用Homebrew安装git、svn等软件.

  • 安装步骤:

    • 更新 brew,随自己,可更新可不更新

      bash 复制代码
      brew update
    • 创建一个tap仓库

      bash 复制代码
      brew tap mongodb/brew
    • 安装指定版本的 mongodb-community Server,如果不指定版本,默认好像也是安装最新版本

      bash 复制代码
      brew install mongodb-community@7.0
  • 查看是否安装成功

    • 安装之后,通过下面命令查看是否安装上

      bash 复制代码
      brew list
  • 安装文件说明

    • 除二进制文件外,安装过程还会根据你的Apple硬件在以下指定位置创建以下文件和目录,如下:

    • 可以执行以下命令来检查brew将这些文件和目录安装在哪里

      bash 复制代码
      brew --prefix

2. 启动MongoDB

2.1 官方说明

  • 直接看官网说明:

2.2 作为macOS服务运行的相关命令

  • 启动服务:

    bash 复制代码
    brew services stop mongodb-community@7.0
  • 查看MongoDB服务是否正在运行

    bash 复制代码
    brew services list
  • 停止服务:

    bash 复制代码
    brew services stop mongodb-community@7.0
  • 查看占用的端口

    • 先查看进程ID

      bash 复制代码
      ps -ef | grep mongodb
    • 使用 lsof ,根据进程ID查看端口

      bash 复制代码
      lsof -i | grep 24403 
    • 补:使用 lsof ,根据端口 查 服务和进程

      bash 复制代码
      lsof -i:27017

2.3 访问

  • 知道端口之后不妨访问试试,当然,访问不通,协议不同,但是可以说明mongodb服务启动了,如下:

    bash 复制代码
    http://127.0.0.1:27017/

3. 链接并使用mongodb

3.1 链接mongodb

  • 链接命令:

    bash 复制代码
    mongosh

3.2 简单使用mongodb

3.2.1 简单命令

  • 常用简单命令,如下:

    bash 复制代码
    show dbs   #查看所有数据库
    
    db   # 查看当前数据库
    
    db.getName() #查看当前数据库名称
    
    use dbName   # 切换数据库(注意:有这个数据库,则会选中这个数据库,没有则会创建)
    
    db.version()  # 查看mongodb版本
    
    db.stats()   # 查看数据库状态信息
    
    db.getMongo()  #查看数据库的链接地址
    
    db.dropDatabase()  # 删除数据库
    ......
  • 关于创建 数据库 和 集合

    bash 复制代码
    use susu_test    # 切换数据库susu_test(注意:有这个数据库,则会选中这个数据库,没有则会创建)
    
    db.createCollection(name, options)    # 创建集合  name:集合名,字符
    db.createCollection('dog')
    
    show collections   # 查看当前数据库所有集合
    
    db.集合名.renameCollection('集合新名')    # 重命名集合
    db.cat.renameCollection('cats')
    
    db.集合名.drop()    # 删除集合
    db.cats.drop()

3.2.2 简单crud使用(文档命令)

3.2.2.1 插入数据

  • 插入单条数据

    • 语法:

      bash 复制代码
      db.dog.insert({})
      
      db.dog.insertOne({})
    • 例子:

      bash 复制代码
      db.dog.insert({dogNum:'A-1001',dogName:'麦兜',dogAge:3,dogKind:'边牧'})
      
      db.dog.insertOne({dogNum:'A-1002',dogName:'泡泡',dogAge:5,dogKind:'柯基'})
  • 插入多条数据

    • 语法:

      bash 复制代码
      db.dog.insert([{},{}])
    • 例子:

      bash 复制代码
      db.dog.insert([{dogNum:'A-1003',dogName:'大牙',dogAge:2,dogKind:'边牧'},{dogNum:'A-1004',dogName:'闪闪',dogAge:8,dogKind:'秋田'}])
  • 如图:

3.2.2.2 查询数据

3.2.2.2.1 一般查询
  • 语法如下:

    bash 复制代码
    db.dog.find()   # 1.查询所有
    
    db.集合名.find({key:val})   # 2.指定键值对条件查询
    db.dog.find({dogNum:'A-1005'})
    
    db.集合名.find({key:{$in:[value1,value2]}})    # 3.包含,等价于sql中的in查询
    db.dog.find({dogNum:{$in:['A-1005','A-1006']}})
    
    db.集合名.find({key1:val1},{key2:val2}......)  # 4. 多条件查询 同时满足
    db.dog.find({dogKind:'边牧',dogAge:{$lt:3}})  #品种是边牧,并且年龄小于3的
    db.dog.find({$and:[{dogKind:'边牧'},{dogAge:{$lt:3}}]}) #$and 等价于上条写法
    
    db.dog.find({$or:[{dogKind:'边牧'},{dogAge:{$lt:3}}]}) # $or 满足条件之一即可
  • 效果如下:

3.2.2.2.2 模糊查询
  • 语法如下:

    bash 复制代码
    db.集合名.find({key:/val/})   #  1. 模糊查询(包含val的数据),  注意:val 不能用引号
    db.dog.find({dogName:/兜/})
    
    db.集合名.find({ key: /^val/})  # 2.1 查询key中包含val,且以val开头的数据
    db.dog.find({dogName:/^麦/})  # 注意:不加引号
    
    db.dog.find({key:{$regex:'^val'}})  # 2.2 查询key中包含val,且以val开头的数据
    db.dog.find({dogName:{$regex:'^麦'}})  # 注意:加引号
    
    # 同理,查询以XXX结尾的语法类似,两种写法,如下:
    db.dog.find({dogName:/兜$/})
    db.dog.find({dogName:{$regex:'兜$'}})
  • 效果如下:

3.2.2.2.3 排序查询
  • 语法:

    bash 复制代码
    db.集合名.find({key:val}).sort({key:1})  # 1 升序,-1 将序
    
    db.dog.find({dogKind:'边牧'}).sort({dogAge:-1}) # 按年龄将序
3.2.2.2.4 分页查询
  • 语法:

    bash 复制代码
    db.集合名.find({key:val}).limit(num).skip(start)  # num:表示pageSzie , start:表示起始索引,默认为0
    
    db.dog.find({dogKind:'边牧'}).limit(2).skip(1)
  • 如下:

3.2.2.3 修改数据

  • 语法如下:

    bash 复制代码
    db.dog.updateOne({key:val},[{$set:{key1:val1,key2:val2}}])
    
    db.dog.updateOne({dogName:'麦兜'},[{$set:{dogKind:'边境牧羊犬'}}])
    db.dog.updateOne({dogName:'麦兜'},[{$set:{dogKind:'边牧犬',dogAge:4}}])
    db.dog.updateOne({dogName:'麦兜'},{$set:{dogKind:'边牧犬22',dogAge:3}})  # []可以去掉

3.2.2.4 删除数据

  • 根据指定的键值对条件:

    bash 复制代码
    db.集合.deleteOne({key:val})   # 1.1 删除单条数据,最多删除一个匹配指定筛选器的文档,即使多个文档可能匹配指定筛选器。
    db.dog.findOneAndDelete({dogKind:'秋田'}) # 1.2 删除单条数据,即便满足的有多条,删除之后,返回删除的数据
    
    db.集合.deleteMany({key:val})  # 删除多条数据,删除与指定筛选器匹配的所有文档。
    
    db.dog.remove({dogKind:'边牧'});  # remove() 删除满足条件的数据(可多条) ,但提示方法已被弃用
    
    db.集合.deleteMany({})   # 删除所有数据(如果给条件删除满足条件的数据,如果不给条件,删除所有的数据)
    db.dog.deleteMany({dogNum:{$in:['A-1005','A-1006']}})  # 删除满足条件的数据

3.2.2.5 更多操作参考

3.2.2.5.1 更多语法及例子
3.2.2.5.2 操作符等其他更多文档

4. navicat链接

  • 服务只要起着,直接连就行
  • 连上之后查看数据:
    • 可以使用命令查询:
    • 也可以使用navicat自带的图形化查询
相关推荐
深藏bIue2 小时前
MongoDB 4.4.30安装、数据迁移
数据库·mongodb
BIBI20499 小时前
通过 Studio 3T 远程连接 CentOS 7 上的 MongoDB
linux·mongodb·centos·nosql·配置·问题解决·环境搭建
DBA小马哥1 天前
文档型数据库MongoDB迁移替换至金仓数据库上线流程周期全解析
数据库·mongodb·文档型数据库
余道各努力,千里自同风2 天前
node.js 操作 MongoDB
数据库·mongodb·node.js
oMcLin2 天前
如何在 Fedora 34 上通过配置 MongoDB 集群,提升电商平台的用户数据存储与查询响应速度?
数据库·mongodb
DBA小马哥2 天前
金仓数据库在时序数据迁移中的应用与改造工作量解析
数据库·mongodb
難釋懷2 天前
认识NoSQL
数据库·nosql
BIBI20493 天前
CentOS 7 安装 MongoDB
linux·mongodb·centos·nosql·环境搭建·安装教程·服务器运维
DBA小马哥3 天前
金仓数据库替代MongoDB:如何高效存储复杂数据类型并实现平滑迁移
数据库·mongodb·dba
`林中水滴`4 天前
MongoDB系列:MongoDB 分片集群环境搭建
mongodb