详解mac系统通过brew安装mongodb与使用

本文目录

一、通过brew安装MongoDB

1、官网文档:地址

2、 前提 :检查mac系统已安装brewxcode,如果没有xcode可执行:xcode-select --install,如下则表示系统之前已经安装过了

3、 执行安装命令

javascript 复制代码
brew tap mongodb/brew
brew install mongodb-community@8.0  // 安装的是mongodb 8.0社区版

注意:也可以指定安装 MongoDB 的先前版本,还可以通过这种方式并行维护多个版本的 MongoDB

4、如下信息则表示安装成功 (网速一般时,安装过程可能会比较耗时间)

6、查看系统已安装好的mongodb版本:mongod --version

7、查看mongodb安装配置

根据不同mac处理器,mongodb安装过程中会在不同的位置创建对应文件和目录:

说明:
/etc/mongod.conf 是配置文件
/log/mongodb 是日志文件目录
/var/mongodb是数据存放目录

  • 检查brew安装的文件路径:brew --prefix
  • 查看具体安装的文件目录信息

7、启动 / 关闭 mongodb服务

  • 方式1:brew命令方式
javascript 复制代码
brew services start mongodb-community@8.0 // 启动

brew services stop mongodb-community@8.0 // 停止
	
ps aux | grep -v grep | grep mongod  // 查看 mongod 服务是否启动

操作示例如下:

或者出现以下信息都是正常启动或关闭mongodb服务。

  • 方式2:mongod 命令后台进程方式

    // 启动
    mongod --config /opt/homebrew/etc/mongod.conf --fork // macOS arm64,本文基于此命令
    mongod --config /usr/local/etc/mongod.conf --fork // macOS x64

    // 关闭
    db.adminCommand({ "shutdown" : 1 }) // 得可以进入mongo shell 控制台实现

具体操作示例如下:

至此,就已经成功在mac系统安装了mongodb数据库服务,并且可以正常使用了~

二、mongodb使用示例

  • 基本语法

    查看当前数据库:db
    显示数据库列表:show dbs
    切换到指定数据库:use <database_name>
    执行查询操作:db.<collection_name>.find()
    插入文档:db.<collection_name>.insertOne({ ... })
    更新文档:db.<collection_name>.updateOne({ ... })
    删除文档:db.<collection_name>.deleteOne({ ... })
    退出 MongoDB Shell:quit() 或者 exit

1、启动数据库

  • 语法说明:
javascript 复制代码
mongosh // 连接数据库
show dbs // 查看当前存在的数据库
db // 查看当前使用的数据库
use 数据库名称 // 切换数据库
  • 关于MongoDB Shell

MongoDB Shell是MongoDB 数据库安装包的一部分,安装 MongoDB会自动安装MongoDB Shell。

javascript 复制代码
mongosh // 启动MongoDB Shell,如果MongoDB服务器运行在本地默认端口(27017),则可以直接连接
mongosh --version // 查看mongo shell版本
mongosh --host <hostname>:<port> // MongoDB服务器运行在非默认端口或者远程服务器时的连接语法
  • 注:安装mongodb默认自带有三个数据库

admin: 从权限的角度来看,这是root数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。

config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合。

2、创建/删除数据库

在MongoDB中,当首次向MongoDB中插入数据时,如果数据库不存在,MongoDB会自动创建它。我们只需选择一个数据库名称,并开始向其中插入文档即可。

语法:

javascript 复制代码
use 数据库名称 // 创建数据库

db.数据库名称.inserOne(document, options) // 往数据库的集合中插入单个文档

db.dropDatabase() // 删除数据库

说明:刚创建的数据库并不会在数据库的列表中展示, 要显示需要向新创建的数据库插入一些数据。

示例:

3、创建/删除集合

更多使用请参考官网:https://www.mongodb.com/zh-cn/docs/manual/crud/

三、MongoDB基本概念

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

举例对比如下:

1)数据库 (database)

一个 MongoDB 中可以建立多个数据库。

如果在操作时没有指定数据库,MongoDB 会使用一个名为 test 的默认数据库,该数据库存储在 data 目录中。

MongoDB 的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。

javascript 复制代码
show dbs 	  // 显示所有数据的列表
db 			  // 显示当前数据库对象或集合
use 数据库名称 // 连接到一个指定的数据库

2)集合 (collection)

集合就是 MongoDB 文档组,类似于关系数据库中的表。

集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

3) 文档(document)

文档是一组键值(key-value)对(即 JSON)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。

举例一个简单的文档:

javascript 复制代码
{"site":"www.runoob.com", "name":"vickie"}

注意的是:

  • 文档中的键/值对是有序的。
  • 文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
  • MongoDB区分类型和大小写。
  • MongoDB的文档不能有重复的键。
  • 文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。

4)mongodb 数据类型

数据类型 描述
String 字符串,存储数据常用的数据类型。在 MongoDB 中,UTF-8 编码的字符串才是合法的。
Integer 整型数值,根据所采用的服务器,可分为 32 位或 64 位。
Boolean 布尔值。
Double 双精度浮点值。
Min/Max keys 将一个值与 BSON(二进制的 JSON)元素的最低值和最高值相对比。
Array 用于将数组或列表或多个值存储为一个键。
Timestamp 时间戳,记录文档修改或添加的具体时间。
Object 用于内嵌文档。
Null 用于创建空值。
Symbol 符号。该数据类型基本上等同于字符串类型,但不同的是它一般用于采用特殊符号类型的语言。
Date 日期时间。用 UNIX 时间格式来存储当前日期或时间。可以指定日期时间:创建 Date 对象,传入年月日信息。
Object ID 对象 ID。
Binary Data 二进制数据。
Code 代码类型。
Regular expression 正则表达式类型。

四、附1:怎么看Mac是macOS arm64 还是 macOS x64 ?

方法1: 在终端执行命令 uname -a

方法2: 点屏幕左上角苹果图标,点击关于本机,如果是M1/M2 选 arm64, 如果是 Intel 就是 x64

附2:通过安装包安装mongodb

下载地址:https://www.mongodb.com/try/download/community

安装MogoDB Shell,下载地址:https://www.mongodb.com/try/download/shell

具体步骤可详细阅读官方说明:https://www.mongodb.com/zh-cn/docs/manual/tutorial/install-mongodb-on-os-x-tarball/

相关推荐
苏-言5 分钟前
Spring IOC实战指南:从零到一的构建过程
java·数据库·spring
Ljw...11 分钟前
索引(MySQL)
数据库·mysql·索引
菠萝咕噜肉i25 分钟前
超详细:Redis分布式锁
数据库·redis·分布式·缓存·分布式锁
长风清留扬27 分钟前
一篇文章了解何为 “大数据治理“ 理论与实践
大数据·数据库·面试·数据治理
OpsEye40 分钟前
MySQL 8.0.40版本自动升级异常的预警提示
数据库·mysql·数据库升级
Ljw...41 分钟前
表的增删改查(MySQL)
数据库·后端·mysql·表的增删查改
远歌已逝4 小时前
维护在线重做日志(二)
数据库·oracle
qq_433099405 小时前
Ubuntu20.04从零安装IsaacSim/IsaacLab
数据库
Dlwyz5 小时前
redis-击穿、穿透、雪崩
数据库·redis·缓存
工业甲酰苯胺7 小时前
Redis性能优化的18招
数据库·redis·性能优化