mongodb 入门笔记
选择Mongo的关键是:这是一个 JSON 文档数据库。
1. Mongo 的术语
- 文档:一条完整的数据就是一个文档(对应于 MySQL 的一行)。
- 集合:一组文档构成一个集合。类似 MySQL 中表的地位,但不必要求这组文档的结构一致。
- 数据库:与 MySQL 一样,mongo 也可以建立多个数据库。 用 use db_name 来切换。
db 和 collection 都是延时创建的。添加document时才会真正创建。
2. 安装与启动 Mongo
官网有详细说明。http://www.mongodb.org/downloads
启动 Mongo 前,需要先通过 Mongod 启动服务进程,然后通过另一个终端用 mongo 连接数据库。
注意点:
- 如果是 windows 下解压安装,解压目录不能包含空格。
- linux 下安装后,默认的 dbpath 是 /data/db,一般没有读写权限。无法启动 mongod。
- dbpath 默认需要10G 以上的存储空间。否则无法启动 mongod。
3. Mongo 配置
mongo 启动时,可以传入一组配置参数。
可以将这些参数写入文件中,比如 mongo.conf,然后通过 --config 参数指定配置文件,无需每次启动时输入配置参数。
4. MongoDB 注册为 Windows 服务
D:/mongodb/bin>mongod --logpath D:/mongodb/data/logs/mongodb.log --logappend --dbpath D:/mongodb/data/db --serviceName MongoDB --install
若显示 Service can be started from the command line via 'net start "MongoDB"' 表示服务创建成功。
windows 下可以通过 net start MongoDB 和 net stop MongoDB 来启动和停止 MongoDB
- 日志文件:/logs/MongoDB.log,以追加的方式写入日志;
- 数据文件目录:/data/db,每个DB都会新建一个目录;
- Windows服务的名称:MongoDB。
-- install 参数改为 --remove 并指定 serviceName 则可以删除服务,默认 serviceName 为 MongoDB
D:/mongodb/bin>mongod --serviceName MongoDB --remove
5. 数据库的 CRUD
进入 mongo 交互界面以后,用 use db_name 来切换。如果数据库不存在,则创建(延时创建)。
启动 mongo 交互界面时,也可以指定数据库。如
$ mongo db_name
db 查看当前数据库
show dbs 查看所有数据库,当前所处的数据库若还未插入文档,则不会显示。
db.dropDatabase() 删除数据
6. 集合的 CRUD
db.book.insert({"Title": "a byte of python", "tag": "python"}) 第一次插入时建立集合
show collections 查看所有集合
db.book.drop() 删除集合。