MongoDB
MongoDB和其他DB有什么区别?
- 基于分布式文件存储的数据库。
- Database,数据库的概念和关系型数据库中的
Database一样。 - Collection,文档存在
文档集(Collections)中,文档集是有共同索引的文档的集合。它相当于关系型数据库中的Table。 - Document,将数据存储为一个
文档(Document),数据结构由键值对(key=>value)组成,类似于JSON对象。它相当于关系数据库中的Row,包含若干属性值(field:value)的一行数据。 - 目前并不支持事务。
安装
MongoDB 安装
在Ubuntu下的单机安装方法很简单:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 7F0CEB10
echo "deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.0.list
sudo apt-get update
sudo apt-get install -y mongodb-org
man mongod
MongoDB中的数据类型
MongoDB的文档模型叫做BSON,这个词由Binary和JSON组合而成,所以它是JSON的二进制形式。
MongoDB 使用
配置文件在 /etc/mongod.conf。
服务名就叫mongod。
进入后台管理的命令mongo,在这里是交互式的命令环境。
- ‘show dbs’:显示所有数据库
- ‘db’:显示当前数据库
- ‘use
dbname‘:使用某个数据库 - ‘db.stats()’ :展示当前数据库的属性
- ‘show collections’ :展示当前数据库中的collection
CRUD 操作
既然是数据库,就应该支持数据库的增删查改操作。
-
创建collection:
db.createCollection("lucky") -
插入:
db.collection.insert({json结构}) -
查询:
db.collection.find().针对特定的文档集进行查询。 -
更新:
db.collection.update() -
删除:
db.collection.remove()
支持的客户端语言
除了交互式环境里的shell,MongoDB还支持下面的语言中进行数据库访问。
- Python
- Java
- Node
- C++
- C#
REF
https://docs.mongodb.org/manual/