前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac环境下安装MongoDB数据库

Mac环境下安装MongoDB数据库

作者头像
xiangzhihong
发布2023-03-01 14:16:15
7500
发布2023-03-01 14:16:15
举报
文章被收录于专栏:向治洪

一、下载安装

1.1 下载MongoDB

首先,从MongoDB官网下载自己想要使用的版本。

在这里插入图片描述
在这里插入图片描述

解压缩下载的压缩包重命名为mongodb,将mongodb文件夹复制到/usr/local目录下。

在这里插入图片描述
在这里插入图片描述
代码语言:javascript
复制
brew tap mongodb/brew
brew install mongodb-community@4.4

1.2 配置环境变量

打开.zshrc 文件,若没有此文件可以创建一个

代码语言:javascript
复制
open ~/.zshrc    //打开
touch .zshrc    //创建

把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中

代码语言:javascript
复制
export PATH=${PATH}:/usr/local/mongodb/bin

编辑完成后保存并退出,然后使用source .zshrc命令使配置立即生效。

1.3 创建日志及数据目录

在 /usr/local/mongodb 目录下新建两个文件夹 data 和 log,用于存储 MongoDB 的数据和日志。

代码语言:javascript
复制
//新建data 和 log文件夹
sudo mkdir -p /usr/local/mongodb/data
sudo mkdir -p /usr/local/mongodb/log


//分配读写权限
sudo chown xzh /usr/local/mongodb/data
sudo chown xzh /usr/local/mongodb/log

其中,xzh为当前的用户名,您需要修改为您自己的系统用户名。接下来,我们需要配置系统环境变量。

1.4 启动MongoDB服务

完成配置后,使用下面的命令来启动 MongoDB 服务。

代码语言:javascript
复制
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongo.log --fork

参数的说明如下:

  • –dbpath 用来设置数据的存放目录
  • –logpath 用来设置日志的存放目录
  • –fork 用来设置在后台运行

最后,我们使用mongod -version命令来验证 MongoDB 是否安装成功,如果出现类似下面所示的内容,则说明 MongoDB 安装成功。

代码语言:javascript
复制
db version v6.0.4
Build Info: {
    "version": "6.0.4",
    "gitVersion": "44ff59461c1353638a71e710f385a566bcd2f547",
    "modules": [],
    "allocator": "system",
    "environment": {
        "distarch": "x86_64",
        "target_arch": "x86_64"
    }
}

不过,每次开机都要输入一长串的命令启动 mongodb是十分麻烦的,我们可以使用配置文件的方式来启动。首先,在根目录下新建一个conf文件夹,并新建一个mongod.conf,配置内容如下:

代码语言:javascript
复制
# 数据库路径
dbpath=/usr/local/mongodb/data
# 日志输出文件路径
logpath=/usr/local/mongodb/log/mongo.log
# 错误日志采用追加模式
logappend=true
# 启用日志文件,默认启用
journal=true
# 过滤一些无用的日志信息,若需要调试设置为false
# quite=true
# 端口号 默认为27017
port=27017
# 是否需要校验,测试环境可以关闭,生产环境则需要打开
# auth=true
# 注册服务,这样就可以保证电脑启动服务就可以使用,避免每次关闭后还需要重新启动服务
fork=true

然后,使用配置好的文件进行启动。

代码语言:javascript
复制
mongod --config /usr/local/mongodb/conf/mongo.conf

注意,使用mongod --config启动时,后面跟的是mongo.conf文件的命令。启动成功之后,会输出如下的提示。

代码语言:javascript
复制
about to fork child process, waiting until server is ready for connections.
forked process: 3178
child process started successfully, parent exiting

接着,我们输入mongo命令就可以进入命令行中的编辑区,如下图。

在这里插入图片描述
在这里插入图片描述

二、可视化工具Studio 3T

通常,直接操作MongoDB体验并不是很友好,所以在实际使用过程中,我们需要安装一些可视化的操作工具,比如Studio 3T。首先,下载Studio 3T

在这里插入图片描述
在这里插入图片描述

下载完后直接安装Studio 3T,然后打开并连接MongoDB数据库。

在这里插入图片描述
在这里插入图片描述

此次连接的是本地的MongoDB,所以Server填写localhost,端口默认为27017。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

三、MongoDB常用语法

3.1 基本操作

SQL与MongoDB对比

image.png
image.png

数据库操作

  • 创建数据库:use demo
  • 查看数据库:show dbs
  • 删除数据库:db.dropDatabase()

集合(表)操作

  • 创建集合:db.createCollection(name)
  • 查看集合:show collections
  • 删除集合:db.collection.drop()

文档操作

  • 创建文档:db.collection.insertOne({})、db.collection.insertMany([])
  • 查看文档:db.collections.find({})
  • 删除文档:db.collection.deleteOne()、db.collection.deleteMany()
  • 更新文档:db.collection.update({},{},false,true)

3.2 使用示例

接着,我们使用上文提到的命令来简单的创建一个数据库,并对表中的数据进行CRUD操作。

查看数据库

代码语言:javascript
复制
> show dbs
admin   0.000GB
config  0.000GB
local   0.000GB

创建数据库

代码语言:javascript
复制
> use demo
switched to db demo

创建集合

代码语言:javascript
复制
> db.createCollection("users")
{ "ok" : 1 }

查看集合

代码语言:javascript
复制
> show collections
users

创建空文档

代码语言:javascript
复制
> db.users.insertOne({})
{
    "acknowledged" : true,
    "insertedId" : ObjectId("62d917201c77c8032f399201")
}

创建文档并添加数据

代码语言:javascript
复制
> db.users.insertOne({userId: 1, userName:'Han Qiao', age: 30, score:300})
{
    "acknowledged" : true,
    "insertedId" : ObjectId("62d9173f1c77c8032f399202")
}

创建文档并添加多条数据

代码语言:javascript
复制
> db.users.insertMany([{userId: 2, userName:'Jack', age: 40, score:400},{userId: 3, userName:'Henry', age: 50, score:200}])
{
    "acknowledged" : true,
    "insertedIds" : [
        ObjectId("62d917951c77c8032f399203"),
        ObjectId("62d917951c77c8032f399204")
    ]
}

查看文档

代码语言:javascript
复制
> db.users.find()
{ "_id" : ObjectId("62d917201c77c8032f399201") }
{ "_id" : ObjectId("62d9173f1c77c8032f399202"), "userId" : 1, "userName" : "Han Qiao", "age" : 30, "score" : 300 }
{ "_id" : ObjectId("62d917951c77c8032f399203"), "userId" : 2, "userName" : "Jack", "age" : 40, "score" : 400 }
{ "_id" : ObjectId("62d917951c77c8032f399204"), "userId" : 3, "userName" : "Henry", "age" : 50, "score" : 200 }

删除指定文档

代码语言:javascript
复制
> db.users.deleteOne({ "_id" : ObjectId("62d917201c77c8032f399201") })
{ "acknowledged" : true, "deletedCount" : 1 }
> db.users.find()
{ "_id" : ObjectId("62d9173f1c77c8032f399202"), "userId" : 1, "userName" : "Han Qiao", "age" : 30, "score" : 300 }
{ "_id" : ObjectId("62d917951c77c8032f399203"), "userId" : 2, "userName" : "Jack", "age" : 40, "score" : 400 }
{ "_id" : ObjectId("62d917951c77c8032f399204"), "userId" : 3, "userName" : "Henry", "age" : 50, "score" : 200 }

条件查找

代码语言:javascript
复制
> db.users.find({age:{$gt:35}})
{ "_id" : ObjectId("62d917951c77c8032f399203"), "userId" : 2, "userName" : "Jack", "age" : 40, "score" : 400 }
{ "_id" : ObjectId("62d917951c77c8032f399204"), "userId" : 3, "userName" : "Henry", "age" : 50, "score" : 200 }

更新文档,将age大于45的score更新为600

代码语言:javascript
复制
> db.users.update({age:{$gt:45}},{$set:{score:600}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find()
{ "_id" : ObjectId("62d9173f1c77c8032f399202"), "userId" : 1, "userName" : "Han Qiao", "age" : 30, "score" : 300 }
{ "_id" : ObjectId("62d917951c77c8032f399203"), "userId" : 2, "userName" : "Jack", "age" : 40, "score" : 400 }
{ "_id" : ObjectId("62d917951c77c8032f399204"), "userId" : 3, "userName" : "Henry", "age" : 50, "score" : 600 }

当然,我们也可以打开Studio 3T,使用Studio 3T来对数据进行操作,如下图。

在这里插入图片描述
在这里插入图片描述
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-02-17,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 一、下载安装
    • 1.1 下载MongoDB
      • 1.2 配置环境变量
        • 1.3 创建日志及数据目录
          • 1.4 启动MongoDB服务
          • 二、可视化工具Studio 3T
          • 三、MongoDB常用语法
            • 3.1 基本操作
              • 3.2 使用示例
              相关产品与服务
              云数据库 MongoDB
              腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
              领券
              问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档