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

news2024/12/31 4:58:53

本文目录

  • 一、通过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.coloradmin.cn/o/2217039.html

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

相关文章

海博思创神秘股东捡漏入股,是否存利益输送?关联交易信披不一致

作者&#xff1a;Eric 来源&#xff1a;IPO魔女 今日&#xff0c;北京海博思创科技股份有限公司&#xff08;简称海博思创&#xff09;上会&#xff0c;将冲刺科创板。海博思创是储能设备生产集成商&#xff0c;处于产业链的中游&#xff0c;主要产品为电化学储能系统。 IPO魔…

护眼台灯横评:书客、柏曼、明基哪款使用体验好,又能护眼?

如果你使用过护眼台灯&#xff0c;就太能理解为什么护眼台灯会诞生了。护眼台灯确实有一定的护眼作用&#xff0c;光线柔和不刺眼&#xff0c;许多护眼台灯还有智能调光、定时休息等人性化功能。在当今这个数字化时代&#xff0c;长时间面对电脑屏幕或埋头于书本已成为许多人的…

美国的云服务器什么价格能买到?

美国的云服务器什么价格能买到&#xff1f;美国的云服务器价格月租费用一般在70元至数千元人民币不等&#xff0c;基础配置的云服务器月租金可能在20至50美元之间&#xff0c;而高端配置的云服务器月租金可能达到150至500美元。美国的云服务器价格因多个因素而异&#xff0c;包…

web前端网页用户注册页面

源码&#xff1a; <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>用户注册</title> </head> <body><form action"#" metho…

2. MySQL数据库基础

一、数据库的操作 1. 显示当前的数据库 SHOW DATABASES;2. 创建数据库 语法&#xff1a; CREATE DATABASE [IF NOT EXISTS] db_name [create_specification...];//create_specification包括&#xff1a;[DEFAULT] CHARACTER SET charset_name[DEFAULT] COLLATE collation_n…

TemporalBench:一个专注于细粒度时间理解的多模态视频理解的新基准。

2024-10-15&#xff0c;由威斯康星大学麦迪逊分校、微软研究院雷德蒙德等机构联合创建了TemporalBench&#xff0c;它通过大约10K个视频问答对&#xff0c;提供了一个独特的测试平台&#xff0c;用以评估各种时间理解和推理能力&#xff0c;如动作频率、运动幅度、事件顺序等。…

物联网的应用以及优势

物联网智能项目涵盖了多个行业领域&#xff0c;随着技术的不断进步和普及&#xff0c;越来越多的应用案例成为主流趋势。此篇文章将概述一些主要的物联网智能项目类别及其优势和日常使用场景&#xff1a; 主流物联网智能项目 1. 智能家居: •优势: 提升居住体验&#xff0c;…

倍福TwinCAT程序中遇到的bug

文章目录 问题描述&#xff1a;TwinCAT嵌入式控制器CX5140在上电启动后&#xff0c;X001网口接网线通讯灯不亮&#xff0c;软件扫描不到硬件网口 解决方法&#xff1a;硬件断电重启后&#xff0c;X001网口恢复正常 问题描述&#xff1a;TwinCAT软件点击激活配置后&#xff0c;…

CUDA 全局内存

全局内存在片外。 特点是&#xff1a;容量最大、延迟最大、使用最多 全局内存中的数据是所有线程可见的&#xff0c;Host端可见&#xff0c;且具有与程序相同的生命周期 动态全局内存 主机代码使用CUDA运行时API &#xff1a; cudaMalloc 声明内存空间&#xff1b; cudaFree…

仓储管理系统原型图移动端(WMS),出入库管理、库存盘点、库存调拨等(Axure原型、Axure实战项目)

仓储管理系统原型图移动端 Warehouse Management System Prototype 仓储管理系统原型图移动端是一个以图形化方式展示系统移动端界面和功能的原型设计图。原型图展示和说明系统移动端的功能和界面布局&#xff0c;为相关利益方提供一个直观的视觉化展示&#xff0c;帮助他们更…

《安全历史第5讲——秦始皇统一度量衡与代码标准化》

秦始皇统一了六国后&#xff0c;中国由此进入了一个崭新的历史时期。而帝国初期的一项重要决策——统一度量衡&#xff0c;让中国领先了千年&#xff0c;至今都因此受益。度量衡的统一极大地促进了社会经济交流&#xff0c;提高了行政效率&#xff0c;并为科学技术的发展奠定了…

【汇编语言】寄存器(内存访问)(五)—— 数据段

文章目录 前言1. 数据段2. 问题3. 问题的分析与解答结语 前言 &#x1f4cc; 汇编语言是很多相关课程&#xff08;如数据结构、操作系统、微机原理&#xff09;的重要基础。但仅仅从课程的角度出发就太片面了&#xff0c;其实学习汇编语言可以深入理解计算机底层工作原理&#…

Maven与Gradle的区别

Maven与Gradle是两种流行的构建工具&#xff0c;广泛用于Java项目的管理和构建。以下是它们的对比&#xff0c;包括官网、Windows 11配置环境、在IDEA中的相同点和不同点&#xff0c;以及它们各自的优缺点。 官网 Maven官网: https://maven.apache.orgGradle官网: https://gr…

idea2024启动Java项目报Error running CloudPlApplication. Command line is too long.

idea2024启动Java项目报Error running CloudPlApplication. Command line is too long. 解决方案&#xff1a; 1、打开Edit Configurations 2、点击Modify options设置&#xff0c;勾选Shorten command line 3、在Edit Configurations界面下方新增的Shorten command line选项中…

NSIS通过路径杀死指定进程解决方法

当软件安装时&#xff0c;如果有特定的软件正在运行&#xff0c;则新软件无法对其进行覆盖。同样当软件卸载时&#xff0c;如果其正在运行&#xff0c;则有残留的文件删不干净。所以便出现了在安装卸载中杀死指定进程的需求。 文章目录 一、踩坑记录1. FindProcDLL和KillProcD…

CSS3 提示框带边角popover

CSS3 提示框带边角popover。因为需要绝对定位子元素&#xff08;这里就是伪元素&#xff09;&#xff0c;所以需要将其设置为相对对位 <!DOCTYPE html> <html> <head> <title>test1.html</title> <meta name"keywords" con…

STM32的独立看门狗定时器(IWDG)技术介绍

在嵌入式系统中&#xff0c;确保系统的稳定性和可靠性至关重要。看门狗定时器&#xff08;Watchdog Timer, WDT&#xff09; 是一种常用的硬件机制&#xff0c;用于监控系统的运行状态&#xff0c;防止系统因软件故障或意外情况进入不可预期的状态。STM32系列微控制器提供了两种…

解读华为云Kuasar多沙箱容器技术,带来更强隔离性和安全性

摘要&#xff1a;沙箱技术的引入&#xff0c;为容器提供了更强的隔离性和安全性&#xff0c;成为云原生技术的重要组成部分。 本文来源 《华为云DTSE》第五期开源专刊&#xff0c;作者&#xff1a;华为云云原生开源团队研发工程师。 近年来&#xff0c;云原生容器技术飞速发展&…

整理—计算机网络

目录 网络OSI模型和TCP/IP模型 应用层有哪些协议 HTTP报文有哪些部分 HTTP常用的状态码 Http 502和 504 的区别 HTTP层请求的类型有哪些&#xff1f; GET和POST的使用场景&#xff0c;有哪些区别&#xff1f; HTTP的长连接 HTTP默认的端口是什么&#xff1f; HTTP1.1怎…

YOLO11改进 | 注意力机制 | 添加SE注意力机制

秋招面试专栏推荐 &#xff1a;深度学习算法工程师面试问题总结【百面算法工程师】——点击即可跳转 &#x1f4a1;&#x1f4a1;&#x1f4a1;本专栏所有程序均经过测试&#xff0c;可成功执行&#x1f4a1;&#x1f4a1;&#x1f4a1; 本文介绍了YOLOv11添加SE注意力机制&…