MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
一、更新 brew
在终端执行下面的语句,更新 brew;
$ brew update
这一步时间可能会有点长,耐心等待即可!
二、安装 mongodb
终端执行下面的语句开始执行安装
$ brew install mongodb
接下来,终端会输出一大堆啰里啰嗦,甚至还有大段的 #
,眼花缭乱,最终出现:
######################################################################## 100.0%
==> Pouring mongodb-3.4.4.sierra.bottle.tar.gz
==> Caveats
To have launchd start mongodb now and restart at login:
brew services start mongodb
Or, if you don't want/need a background service you can just run:
mongod --config /usr/local/etc/mongod.conf
==> Summary
🍺 /usr/local/Cellar/mongodb/3.4.4: 18 files, 266.3MB
主机名:~ 用户名$
注意,这一段输出中,包含了 mongodb 的启动方法:
brew services start mongodb
输入启动命令,终端输出:
==> Successfully started `mongodb` (label: homebrew.mxcl.mongodb)
在浏览器输入 http://localhost:27017/,页面显示 It looks like you are trying to access MongoDB over HTTP on the native driver port. 表示启动成功!
三、进入 mongodb 管理
在终端继续输入 mongo
,回车后即可进入 mongodb 管理,此时终端输出大致如下:
$ mongo
MongoDB shell version v3.4.4
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.4
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
Server has startup warnings:
2017-06-16T15:09:39.377+0800 I CONTROL [initandlisten]
2017-06-16T15:09:39.377+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-06-16T15:09:39.377+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2017-06-16T15:09:39.377+0800 I CONTROL [initandlisten]
>
使用
use DATABASE_NAME
可用于切换数据库,如果不存在,则创建一个数据库并切换到新创建的数据库。
末尾的 > 箭头处于闪烁状态。可以尝试一些操作了。更为详细中文教程参考:
四、常用操作命令
mongodb 也有不少可视化管理工具,不过,对于刚接触 mongodb 的开发者来说,因为 mongodb 定义了太多的概念,所以,为了快速上手,与其花费大量的时间寻找可用易用的客户端,倒不如熟悉下其命令操作!
# 进入管理模式
> mongo
# 列出全部可用命令
> help
# 退出操作
> exit
# 或
> control + C
# 列出全部数据库
> show dbs
# 选择一个已存在的数据库
> use 数据库名
# 查看当前操作的数据库
# 默认为 test,既 mongo 始终在操作一个数据库
> db
# 列出数据库可用命令
> db.help()
# 列出当前数据库的全部数据表(mongodb 称为 集合 collection)
> show collections
# 新建表
> db.createCollection('表名')
# 列出表的全部命令
> db.表名.help()
# 修改表名
> db.待修改表名.renameCollection('新表名')
# 统计表中的数据数
> db.表名.count(条件)
# 列出表中的全部数据
> db.表名.find()
# 添加数据
> db.表名.save(数据对象)
# 更新数据
> db.表名.update(条件,数据对象)
# 删除数据
> db.表名.remove(条件)
# 删除表
> db.表名.drop()
# 添加字段
# 更新字段
# 删除字段
# 添加索引
> db.表名.createIndex(字段,配置)
> db.表名.createIndexes([字段], <配置>)
# 删除索引
> db.表名.dropIndex('索引名')