warning:内容来自菜鸟教程:http://www.runoob.com/mongodb/mongodb-tutorial.html
本人初次接触MongoDB,感觉在开发中接触到许多JSON数据,使用MongoDB保存相对较为容易,因为MongoDB是NoSQL类型的,可以对文档数据直接进行存储、查询、更新,并且文档结构也不必统一,形式自由方便。安装部分就不在介绍,下面记录本人在使用过程中认为值得注意的地方。
- 运行MongoDB(macOS)
1.首先我们创建一个数据库存储目录 /data/db
sudo mkdir -p /data/db
2.启动mongodb,默认数据库目录即为:/data/db
sudo mongod
// 如果没有创建全局路径PATH,需要进入以下目录
cd /usr/local/mongodb/bin
sudo ./mongod
3.再另外打开一个终端操作数据库,上一个终端是对MongoDB的启动与监控
$ cd /usr/local/mongodb/bin
$ ./mongo
MongoDB shell version v3.4.2
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.4.2
Welcome to the MongoDB shell.
……
> 1 + 1
2
>
注意:如果你的数据库目录不是/data/db,可以通过 --dbpath 来指定。
- 操作MongoDB
1.MongoDB概念解析
SQL术语/概念 | MongoDB术语/概念 | 解释/说明 |
---|---|---|
database | database | 数据库 |
table | collection | 数据库表/集合 |
row | document | 数据记录行/文档 |
column | field | 数据字段/域 |
index | index | 索引 |
table joins | 表连接,MongoDB不支持 | |
primary key | primary key | 主键,MongoDB自动将_id字段设置为主键 |
通过下图实例,我们也可以更直观的的了解Mongo中的一些概念:
2.使用shell操作数据库
$ ./mongo
MongoDB shell version: 3.0.6
connecting to: test
> show dbs
local 0.078GB
test 0.078GB
>use test
switched to db test
>db
test
>db.test.insert({"name":"简书"})
WriteResult({"nInserted" : 1})
>db.test.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: '菜鸟教程',
url: 'http://www.runoob.com',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100});
>db.test.find()
{ "_id" : ObjectId("58eb3da49054577db4a2c81d"), "name" : "简书"}
{ "_id" : ObjectId("58eb3e0c9054577db4a2c81e"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }
>db.test.remove({name:"简书"})
WriteResult({ "nRemoved" : 1 })
>db.test.find()
{ "_id" : ObjectId("58eb3e0c9054577db4a2c81e"), "title" : "MongoDB 教程", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "菜鸟教程", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "database", "NoSQL" ], "likes" : 100 }