MacOS 使用 brew 安装 MongoDB
Posted 蓝色梦想
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MacOS 使用 brew 安装 MongoDB相关的知识,希望对你有一定的参考价值。
一同分享属于你我的互联网生活
www.bluesdream.com
简介:
MongoDB 是一种面向文档的数据库管理系统,用C++等语言撰写而成。是一个介于关系数据库和非关系数据库之间的产品,适用于敏捷开发的数据库。
与关系型数据库对比:
数据库(Database) => 数据库(Database)
集合(Collection) => 数据表(Table)
文档(Document) => 记录(Record)
主要区别:数据结构较为松散,类似 JSON 的存储格式,每条记录的表字段可以不同。而关系型数据库每个表的都拥有相同字段。
安装:
由于 MongoDB 宣布不再开源,HomeBrew 也从核心库中移除了 MongoDB 模块 #43770。现在已无法使用
brew install mongodb
命令安装,否则会提示错误Error: No available formula with the name "mongodb"
打开终端,执行以下命令安装:
# 添加第三方包
brew tap mongodb/brew
# 安装
brew install mongodb-community
安装完成后,会创建如下文件:
配置文件:
/usr/local/etc/mongod.conf
日志目录路径:
/usr/local/var/log/mongodb
数据目录路径:
/usr/local/var/mongodb
创建:
启动数据库:
# 启动命令
brew services start mongodb-community
创建数据库
# 进入数据库
mongo
# 创建数据库(vue_express 为数据库名)
use vue_express
成功后显示:switched to db vue_express
查看当前数据库:
db
成功后显示:vue_express
但此时通过 show dbs
命令查看所有数据库的列表,则不会显示刚才创建的,需要新增一条数据:
db.vue_express.insert({"name":"Hello Word"})
成功后显示:WriteResult({ "nInserted" : 1 })
创建管理员:
# 切换到超级管理模式
use admin
成功后显示:switched to db admin
创建超级管理员:
# 用户名、密码、权限
db.createUser({user:'ryan', pwd:'123456', roles:['userAdminAnyDatabase']})
成功后显示:Successfully added user: { "user" : "ryan", "roles" : [ "userAdminAnyDatabase" ] }
readAnyDatabase 任何数据库的只读权限(和read相似)
readWriteAnyDatabase 任何数据库的读写权限(和readWrite相似)
userAdminAnyDatabase 任何数据库用户的管理权限(和userAdmin相似)
dbAdminAnyDatabase 任何数据库的管理权限(dbAdmin相似)
基本操作:
# 启动命令
brew services start mongodb-community
# 停止命令
brew services stop mongodb-community
# 重启命令
brew services restart mongodb-community
# 进入 mango
monngo
# 显示数据库列表
show dbs
# 创建/切换数据库
use <collection_name>
# 创建集合(数据表单)
db.createCollection("Posts")
# 查看当前数据库集合
show collections
# 显示当前数据库状态
db.stats()
# 删当前使用的数据库
db.dropDatabase()
# 修复当前数据库
db.repairDatabase()
# 显示当前数据库版本
db.version
# 集合文档插入
db.<collection_name>.insert()
# 查询集合中文档总数
db.<collection_name>.count()
# 查询集合内所有文档
db.<collection_name>.find()
# 集合文档的条件查询
# 大于等于:$gte | 大于:$gt | 小于等于:$lte | 小于:$lt | 等于:$eq | 不等于:$ne
# 存在某个字段时才抽出:$exists
db.<collection_name>.find({"title": {$exists:true}})
# 抽出集合文档内指定字段的数据(其余字段不显示)
db.<collection_name>.find({},{title:true, date:true}})
# 抽出文档的方法
# 倒叙:sort() | 限制:limit() | 跳过:skip()
db.<collection_name>.find({},{_id:0}).limit(5)
# 查询集合内指定数据
db.<collection_name>.findById()
# 集合文档更新(符合条件的第一条记录)
# update(<filter>, <update>, (options))
db.<collection_name>.update({"tag":"口罩"}, {$set: {"unit":10}})
# 集合文档更新(符合条件的所有记录)
db.<collection_name>.update({"tag":"口罩"}, {$set: {"unit":10}}, {multi:true})
# 集合文档修改(特殊函数,原"unit"基础上增加5)
# 递加:$inc | 相乘:$mul | 改名:$rename | 新增/修改:$set | 删除字段:$unset
db.<collection_name>.update({"title":"N95"}, {$inc: {unit: 5}})
# 集合文档的特殊更新(有记录就更新,无记录就你追加)
db.<collection_name>.update({"title":"N90"}, {"title":"N90", "tag":"口罩", "unit":10}, {upsert:true})
# 集合文档更新(单条记录)
db.<collection_name>.updateOne()
# 只删除文档内第一个匹配的
db.<collection_name>.deleteOne()
# 删除文档内所有匹配的
db.<collection_name>.deleteMany()
# 删除集合中所有文档
db.<collection_name>.remove()
参考资料:
The MongoDB 4.2 Manual
MongoDB 教程
爱设计,爱前端,也爱颠覆创新;
爱生活,爱音乐,也爱小资情趣。
有点唠叨,也有点感叹。
(完整内容请点击左下方 “阅读原文”)
以上是关于MacOS 使用 brew 安装 MongoDB的主要内容,如果未能解决你的问题,请参考以下文章
如何在 MacOS 上重置 MySQL 或 MariaDB(使用 brew 安装)?