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

本文目录

  • 一、通过brew安装MongoDB
  • 二、mongodb使用示例
    • 1、启动数据库
    • 2、创建/删除数据库
    • 3、创建/删除集合
  • 三、MongoDB基本概念
    • 1)数据库 (database)
    • 2)集合 (collection)
    • 3) 文档(document)
    • 4)mongodb 数据类型
  • 四、附1:怎么看Mac是macOS arm64 还是 macOS x64 ?
  • 附2:通过安装包安装mongodb

一、通过brew安装MongoDB

1、官网文档:地址

2、 前提:检查mac系统已安装brewxcode,如果没有xcode可执行:xcode-select --install,如下则表示系统之前已经安装过了
在这里插入图片描述
3、 执行安装命令

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命令方式
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、启动数据库

在这里插入图片描述

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

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

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会自动创建它。我们只需选择一个数据库名称,并开始向其中插入文档即可。

语法:

use 数据库名称 // 创建数据库

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

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

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

示例:
在这里插入图片描述
在这里插入图片描述

3、创建/删除集合

在这里插入图片描述
更多使用请参考官网:https://www.mongodb.com/zh-cn/docs/manual/crud/

三、MongoDB基本概念

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

举例对比如下:
在这里插入图片描述

1)数据库 (database)

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

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

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

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

2)集合 (collection)

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

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

3) 文档(document)

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

举例一个简单的文档:

{"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/

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

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

相关文章

WPFDeveloper正式版发布

WPFDeveloper WPFDeveloper一个基于WPF自定义高级控件的WPF开发人员UI库&#xff0c;它提供了众多的自定义控件。 该项目的创建者和主要维护者是现役微软MVP 闫驚鏵: https://github.com/yanjinhuagood 该项目还有众多的维护者&#xff0c;详情可以访问github上的README&…

快速创建一个vue项目并运行

前期准备工作: 1.安装node 2.安装npm 3.设置淘宝镜像 4.全局安装webpack 5.webpack 4.X 开始&#xff0c;需要安装 webpack-cli 依赖 6.全局安装vue-cli 正文开始: 1.创建项目 ,回车 vue init webpack vue-svg > Project name vue-demo 项目名称 回车 > Pro…

MySQL-事务Transaction详解

文章目录 事务概述事务基本概念事务四大特性(ACID)演示MySQL事务手动开启事务MySQL默认事务机制 事务的隔离级别隔离级别基本概述三种现象脏读不可重复读幻读 查看和设置隔离级别四种隔离级别及演示读未提交(read uncommitted)读提交(read committed)可重复读(repeatable read)…

【K8s】Kubernetes 词汇表

微思网络 厦门微思网络 K8S认证工程师&#xff08;CKA&#xff09;备考与学习指南https://mp.weixin.qq.com/s/XsEVpU7dKnJDBopynWW3GQ K8S-CKA课程试听:Container 概述 词汇表 此术语表旨在提供 Kubernetes 术语的完整、标准列表。其中包含特定于 Kubernetes 的技术术语以及…

为了避免下一次重大中断,我们需要持续测试

自去年 7 月CrowdStrike/Microsoft大规模中断以来的几个月里&#xff0c;我们了解到了很多问题所在。一家大型网络安全提供商为其广泛部署的企业端点保护产品推出了一个有缺陷的更新。尽管&#xff08;错误地&#xff09;批准发布&#xff0c;但该更新导致全球的 Windows 系统崩…

力扣 143.重排链表【详细手写】

一、题目 前置题目 力扣 206.反转链表 力扣 876. 链表的中间结点 二、思路 观察链表发现链表是部分有序&#xff0c;奇数位置的节点组成前半段的原链表&#xff0c;偶数位置的节点组成后半段的反转链表。因此&#xff0c;首先需要找到中间节点&#xff08;力扣 876. 链表的…

harmonyOS next之实现时间打卡定时器

需求&#xff1a;实现一个时间打卡签到按钮。 实现方法&#xff1a;每隔一秒钟获取一下当前时间。 实现代码如下&#xff1a; Column(){Text(this.curTime).fontColor(#FFFFFF).fontWeight(600).fontSize(32vp)Text(上班打卡).fontColor(#FFFFFF) } .width(170vp) .height(170…

使用ROS资源编排一键部署LNMP建站环境,手动整理教程

LNMP是目前主流的网站服务器架构之一&#xff0c;适合运行大型和高并发的网站应用&#xff0c;例如电子商务网站、社交网络、内容管理系统等。LNMP分别代表Linux、Nginx、MySQL和PHP。本文阿里云服务器网aliyunfuwuqi.com介绍如何使用阿里云资源编排服务&#xff08;ROS&#x…

桂林旅游一点通:SpringBoot平台应用

3系统分析 3.1可行性分析 通过对本桂林旅游景点导游平台实行的目的初步调查和分析&#xff0c;提出可行性方案并对其一一进行论证。我们在这里主要从技术可行性、经济可行性、操作可行性等方面进行分析。 3.1.1技术可行性 本桂林旅游景点导游平台采用SSM框架&#xff0c;JAVA作…

smbms(2)

目录 一、修改密码功能实现 二、优化密码修改&#xff0c;加入旧密码确认环节【使用Ajax】 三、用户管理实现 获取用户数量 获取用户列表 获取角色列表 Servlet 一、修改密码功能实现 1、导入前端素材 2、UserDao接口 3、UserDaoImpl实现类 4、UserService接口 5、Us…

第10篇:防火墙与入侵检测系统

目录 引言 10.1 防火墙的基本概念 10.2 防火墙的分类 10.3 防火墙策略的配置与实现 10.4 入侵检测系统&#xff08;IDS&#xff09; 10.5 防火墙与IDS的结合 10.6 总结 第10篇&#xff1a;防火墙与入侵检测系统 引言 在当今的数字世界中&#xff0c;网络安全已经成为企…

【FreeRL】PPO的复刻和7个trick实现

文章目录 前言一、计算优势函数二、比较buffer的存储三、小批量更新网络的实现中四、细节GAE的实现五、对于PPO必须收敛的关键为V_target的定义六、参数敏感七、仿照《动手学强化学习中的代码》实现八、补充tricks的效果 前言 主要是对PPO论文里的PPO复刻&#xff0c;和实现时…

安卓流式布局实现记录

效果图&#xff1a; 1、导入第三方控件 implementation com.google.android:flexbox:1.1.0 2、布局中使用 <com.google.android.flexbox.FlexboxLayoutandroid:id"id/baggageFl"android:layout_width"match_parent"android:layout_height"wrap_co…

spring底层原理

本文参考黑马程序员的spring底层讲解&#xff0c;想要更详细的可以去看视频。 另外文章会每日更新&#xff0c;大概持续1个月&#xff01;&#xff01;&#xff01;每天更新一讲 这部分比较抽象&#xff0c;要经常复习&#xff01;&#xff01;&#xff01; 一、BeanFactory与A…

Olap数据处理

一、OLAP 是什么 1. OLAP的定义 OLAP&#xff08;Online Analytical Processing&#xff0c;联机分析处理&#xff09;是一种软件技术&#xff0c;它主要专注于复杂的分析操作&#xff0c;帮助分析人员、管理人员或执行人员从多角度对信息进行快速、一致、交互地存取&#xf…

电脑桌面自己变成了英文Desktop,怎么改回中文

目录 前言找到Desktop查看位置查找目标修改文件名为桌面重启电脑 或 重启 Windows 资源管理器CtrlShiftEsc 打开任务管理器找到 Windows 资源管理器重启 Windows 资源管理器 查看修改结果 前言 许多人在使用电脑的时候发现&#xff0c;我们经常使用的桌面&#xff0c;不知道因为…

Vue向上滚动加载数据时防止内容闪动

目前的需求&#xff1a;当前组件向上滚动加载数据&#xff0c;dom加载完后&#xff0c;页面的元素位置不能发生变化 遇到的问题&#xff1a;加载完数据后&#xff0c;又把滚轮滚到之前记录的位置时&#xff0c;内容发生闪动 现在的方案&#xff1a; 加载数据之前记录整体滚动条…

004-按照指定功能模块名称分组

按照指定功能模块名称分组 一、说明1.现在有一个需求&#xff1a;2.具体做法 二、代码案例三、效果展示 一、说明 1.现在有一个需求&#xff1a; 需要把一个功能模块的几个功能点放在同一个文档目录下&#xff0c;这几个功能点分布在不同的 Controller 2.具体做法 需要把他…

登录前端笔记(二):vuex管理用户数据;跨域;axios封装;环境;请求响应拦截;权限;用户资料Vuex共享

一、Vuex登录流程之用户模块&#xff1a; 简言之&#xff1a;点击登录调用actions且得到token&#xff0c;把得到的token提交给mutations从而修改state里的数据。 原视频 &#xff08;1&#xff09;Vuex用户模块流程 组件页面里点击登录后&#xff0c;调用stores里的actions&…

智慧油田智能安全管控方案-AI助力油气田安全管控升级

在科技日新月异的今天&#xff0c;万物纵横科技凭借其前沿的智慧油田智能安全管控方案&#xff0c;正引领着油气田行业向智能化、高效化转型。该方案深度融合了AI视频智能分析与AIoT&#xff08;物联网人工智能&#xff09;技术&#xff0c;为采油场、油气场的设备运维、环境监…