详解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/

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是感知与计算融合?

感知与计算融合&#xff08;Perception-Computing Fusion&#xff09;是指将感知技术&#xff08;如传感器、摄像头等&#xff09;与计算技术&#xff08;如数据处理、人工智能等&#xff09;有机结合&#xff0c;以实现对环境的更深层次理解和智能反应的过程。该技术广泛应用于…

基于ISO13400实现的并行刷写策略

一 背景及挑战 随着车辆智能化的逐渐普及&#xff0c;整车控制器数量的急剧增加&#xff0c;加之软件版本的迭代愈发频繁&#xff0c;使整车控制器刷写的数据量变得越来越大。面对如此多的控制器刷写&#xff0c;通过传统的控制器顺序刷写则易出现刷写时间过长的情况&#xff…

将本地文件上传到GIT上

上传文件时&#xff0c;先新建一个空文件&#xff0c;进行本地库初始化&#xff0c;再进行远程库克隆&#xff0c;将要上传的文件放到克隆下来的文件夹里边&#xff0c;再进行后续操作 1.在本地创建文件夹&#xff0c;将要上传的文件放在该文件下 2.在该文件页面中打开Git Bas…

免登录H5快手商城系统/抖音小店商城全开源运营版本

内容目录 一、详细介绍二、效果展示1.部分代码2.效果图展示 三、学习资料下载 一、详细介绍 最近因为直播需要然后在互站花500买了一套仿抖音的商城系统&#xff0c;感觉确实还可以&#xff0c;反正都买了所以就分享给有需要的人 以下是互站那边的网站介绍可以了看一下&#…

【路径规划】基于蚁群算法的飞行冲突解脱

摘要 飞行冲突解脱是空中交通管理中的重要问题&#xff0c;确保飞机之间安全的距离避免冲突尤为重要。本文提出了一种基于蚁群算法的飞行冲突解脱方法&#xff0c;通过优化飞行器的路径&#xff0c;实现冲突的有效解脱。蚁群算法是一种模拟蚂蚁觅食行为的启发式算法&#xff0…

大厂为什么要禁止使用数据库自增主键

大表为何不能用自增主键&#xff1f; 数据库自增主键&#xff0c;以mysql为例&#xff0c;设置表的ID列为自动递增&#xff0c;便可以在插入数据时&#xff0c;ID字段值自动从1开始自动增长&#xff0c;不需要人为干预。 在小公司&#xff0c;或者自己做项目时&#xff0c;设置…

爬虫基础--requests模块

1、requests模块的认识 requests模块的认识请跳转到 requests请求库使用_使用requests库-CSDN博客 2、爬取数据 这里我们以b站动漫追番人数为例。 首先进去b站官网 鼠标右键点击检查或者键盘的F12&#xff0c;进入开发者模式。&#xff08;这里我使用的是谷歌浏览器为例&#…

二分查找_ x 的平方根搜索插入位置山脉数组的峰顶索引

x 的平方根 在0~X中肯定有数的平方大于X&#xff0c;这是肯定的。我们需要从中找出一个数的平方最接近X且不大于X。0~X递增&#xff0c;它们的平方也是递增的&#xff0c;这样我们就可以用二分查找。 我们找出的数的平方是<或者恰好X&#xff0c;所以把0~X的平方分为<X …

Elasticsearch是做什么的?

初识elasticsearch 官方网站&#xff1a;Elasticsearch&#xff1a;官方分布式搜索和分析引擎 | Elastic Elasticsearch是做什么的&#xff1f; Elasticsearch 是一个分布式搜索和分析引擎&#xff0c;专门用于处理大规模数据的实时搜索、分析和存储。它基于 Apache Lucene …

文言文编程,没错,尤雨溪都点赞了

文言文编程&#xff0c;没错&#xff0c;尤雨溪都点赞了 在现代编程语言百花齐放的今天&#xff0c;居然有人选择用古典汉语来写代码&#xff1f;这就是文言编程语言 Wenyan-lang&#xff0c;一种让你在写代码时&#xff0c;仿佛重回古代&#xff0c;挥毫泼墨般潇洒。本文将带你…

Ubuntu22.04安装RTX3080

Ubuntu22.04安装RTX3080 1 安装基础环境 更新依赖包 sudo apt-get update sudo apt-get upgrade2 安装驱动 &#xff08;1&#xff09;查看适合的显卡驱动 # 查看可用的驱动 sudo ubuntu-drivers devices# 返回值&#xff0c;推荐版本&#xff1a;nvidia-driver-550 ERROR…

提升C#异步性能:如何正确使用ConfigureAwait(false)避免上下文捕获

前言 在C#开发中&#xff0c;异步编程非常普遍&#xff0c;async/await模式极大地简化了异步任务的编写。然而&#xff0c;随之而来的是一些隐蔽的性能和上下文切换问题。在某些情况下&#xff0c;默认的上下文捕获行为可能会导致性能损耗&#xff0c;特别是在UI应用中&#x…

步骤详解:弹性公网ipv6如何申请?

弹性公网ipv6如何申请&#xff1f;申请弹性公网IPv6的步骤包括&#xff1a;首先登录私有网络控制台&#xff0c;选择弹性网卡并进入实例详情页。在IPv6地址管理标签页中分配IPv6地址&#xff0c;然后通过操作栏下的按钮释放或调整IPv6地址的公网访问能力。最后&#xff0c;配置…

python之爬取豆瓣排行与可视化

找到目标网址&#xff1a; url "https://movie.douban.com/chart" 豆瓣电影排行榜 鼠标右键&#xff0c;检查 复制url,与user-agent: url "https://movie.douban.com/chart" headers {"user-agent": "Mozilla/5.0 (Windows NT 10.0; Wi…

SQL进阶技巧:如何找出开会时间有重叠的会议室?| 时间区间重叠问题

目录 0 场景描述 1 数据准备 2 问题分析 方法1:利用 lateral view posexplode()函数将表展开成时间明细表 方法2:利用数学区间讨论思想求解 3 小结 0 场景描述 有7个会议室,每个会议室每天都有人开会,某一天的开会时间如下: 查询出开会时间有重叠的是哪几个会议室?…

算法专题七: 分治归并

目录 1. 排序数组2. 交易逆序对的总数3. 计算右侧小于当前元素的个数4. 翻转对 1. 排序数组 算法思路: 本道题使用归并的思路进行排序, 先讲数组分为左右两个区间, 然后合并两个有序数组. class Solution {vector<int> tmp; public:vector<int> sortArray(vector&…

sentinel原理源码分析系列(五)-构建调用链路

上节分析构建插槽链&#xff0c;Sentinel的资源调用好比一个个连续的检查口&#xff0c;能否通过&#xff0c;使用检查规则和统计指标&#xff0c;本章开始分析插槽&#xff0c;首先分析构建调用链路的两个插槽 构建调用链路 构建调用链路为指标统计搭建好结构&#xff0c;调…

文件误删并清空回收站:全面解析与高效恢复策略

一、文件误删并清空回收站的遭遇 在日常使用电脑或移动设备的过程中&#xff0c;我们难免会遇到一些令人懊恼的数据丢失问题&#xff0c;其中文件误删并清空回收站便是最为常见的一种。当你不小心删除了某个重要文件&#xff0c;并且随后又毫不留情地清空了回收站&#xff0c;…

双十一母婴必买清单 推荐超实用母婴用品

随着双十一购物狂欢节的临近&#xff0c;无数准父母和年轻家长开始摩拳擦掌&#xff0c;准备为家中的小宝贝抢购一系列高品质、实用的母婴用品。在这个年度最大的电商促销活动中&#xff0c;选择对的产品不仅能够节省开支&#xff0c;更能确保宝宝的健康成长与舒适生活。以下是…

【C++ STL 模板类】pair 键值对

文章目录 【 1. pair 对象的创建 】【 2. pair 对象的赋值 】【 3. pair 对象的比较 】【 4. pair对象成员的互换】 C STL 标准库提供了 pair 类模板&#xff0c;专门用来将 2 个普通元素 first 和 second&#xff08;可以是 C 基本数据类型、结构体、类自定的类型&#xff09;…