Mac环境下安装MongoDB数据库
一、下载安装
1.1 下载MongoDB
首先,从MongoDB官网下载自己想要使用的版本。
解压缩下载的压缩包重命名为mongodb,将mongodb文件夹复制到/usr/local目录下。
brew tap mongodb/brew
brew install mongodb-community@4.4
1.2 配置环境变量
打开.zshrc 文件,若没有此文件可以创建一个
open ~/.zshrc //打开
touch .zshrc //创建
把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中
export PATH=${PATH}:/usr/local/mongodb/bin
编辑完成后保存并退出,然后使用source .zshrc命令使配置立即生效。
1.3 创建日志及数据目录
在 /usr/local/mongodb 目录下新建两个文件夹 data 和 log,用于存储 MongoDB 的数据和日志。
//新建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 服务。
mongod --dbpath /usr/local/mongodb/data --logpath /usr/local/mongodb/log/mongo.log --fork
参数的说明如下:
- –dbpath 用来设置数据的存放目录
- –logpath 用来设置日志的存放目录
- –fork 用来设置在后台运行
最后,我们使用mongod -version命令来验证 MongoDB 是否安装成功,如果出现类似下面所示的内容,则说明 MongoDB 安装成功。
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,配置内容如下:
# 数据库路径
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
然后,使用配置好的文件进行启动。
mongod --config /usr/local/mongodb/conf/mongo.conf
注意,使用mongod --config启动时,后面跟的是mongo.conf文件的命令。启动成功之后,会输出如下的提示。
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对比
数据库操作
- 创建数据库: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操作。
查看数据库
> show dbs
admin 0.000GB
config 0.000GB
local 0.000GB
创建数据库
> use demo
switched to db demo
创建集合
> db.createCollection("users")
{ "ok" : 1 }
查看集合
> show collections
users
创建空文档
> db.users.insertOne({})
{"acknowledged" : true,"insertedId" : ObjectId("62d917201c77c8032f399201")
}
创建文档并添加数据
> db.users.insertOne({userId: 1, userName:'Han Qiao', age: 30, score:300})
{"acknowledged" : true,"insertedId" : ObjectId("62d9173f1c77c8032f399202")
}
创建文档并添加多条数据
> 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")]
}
查看文档
> 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 }
删除指定文档
> 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 }
条件查找
> 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
> 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来对数据进行操作,如下图。
Mac环境下安装MongoDB数据库相关推荐
- 〖Python 数据库开发实战 - MongoDB篇②〗- Mac环境下的MongoDB数据库安装
✌ 大家好,我是 哈士奇 ,一位工作了十年的"技术圈混子", 致力于为开发者赋能的UP主, 目前正在运营着 TFS_CLUB社区. ✌
- linux 查看mysql安装目录_Linux环境下安装MySQL数据库示例教程
点击上方SQL数据库开发,关注获取SQL视频教程 SQL专栏 SQL数据库基础知识汇总 SQL数据库高级知识汇总 Linux环境对大多数SQL初学者还是比较陌生,今天给大家演示一下如何在Linux环境 ...
- Mac环境下安装Pod
Mac 环境下安装Pod Pod安装需要ruby,ruby需要rvm 可以终端中查看rvm 安装没有 如果没有安装则按以下步骤安装 rvm安装 $ curl -L https://get.rvm.io ...
- windows7下安装MongoDB数据库
写在当前 最近在学习nodejs做服务端,于是使用express+mongodb数据库,在网上找了如何在windows7下安装MongoDB, 我是win764位,下载地址https://www.mo ...
- Mac环境下安装hadoop
配置ssh免密登录 mac下开启远程登录 系统偏好设置 -> 共享 -> 远程登录 授权免密登录 # 生成秘钥(如果没有) ssh-keygen -t rsa -P ''# 授权免密登录 ...
- linux安装powerline字体,Mac环境下安装powerline的方式
什么是powerline 如果你不是通过搜索引擎搜到这篇文章的话,也许你还没有听说过powerline.而你又恰巧是个*UNIX党,或者VIM党的话,那么强烈建议你了解并使用powerline.pow ...
- 〖Python 数据库开发实战 - MongoDB篇④〗- Linux环境下的MongoDB数据库安装
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- 〖Python 数据库开发实战 - MongoDB篇③〗- Windows环境下的MongoDB数据库安装
订阅 Python全栈白宝书-零基础入门篇 可报销!白嫖入口-请点击我.推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 Python全栈白宝书专栏,免费阶段订阅数量43 ...
- mac环境下安装Gradle及配置
前言 从Gradle官网的安装指导可以知道, (最新的gradle版本)要求jdk的版本是1.8, 或者更高. Prerequisites Gradle runs on all major ope ...
最新文章
- Rust 所有权介绍
- Day 19: EmberJS 入门指南
- 漫画 | 程序员的悲哀是什么?
- MarkDown/Html在线转换(支持代码高亮,可复制到微信公众号、今日头条)
- 下运行maven命令_如何在批处理模式下运行 top 命令
- 2017⇆2019,用了这款减肥App,我胖了30斤...
- 安卓设置菊花动画_华为手机必须调整的4个默认设置,让手机流畅到飞起,用到2035年...
- (C#)如何使文本框响应回车
- 基于人脸识别的课堂签到管理系统(六)---删除,查询用户组以及人脸的添加,删除,更新
- checksum建立的索引
- word流程图变为图片格式_图片如何转换成word?新手小白几步就学会了
- 暗色调,调出紫红色的暗调晨曦照片效果(转)
- 初创企业如何做高效持续交付
- js生成token 七牛云_自己尝试生成七牛云的accessToken,但一直返回{error:bad token}...
- 用星星画菱形--Java
- ftp文件服务器能记录操作吗,ftp服务器操作记录
- vc6 调试 附加到进程 列表空_今天,进程告诉我线程它它它它不想活了
- 国外10个ASP.Net C#下的开源CMS
- 模型评估指标 AUC 和 ROC,这是我看到的最透彻的讲解
- 60深度解密六十:利用互联网精准找到企业负责人的联系方式