
1.mongoDB简介
1.NoSQL数据库
-
数据库:进行高效的、有规则的进行数据持久化存储的软件
-
NoSQL数据库:Not only sql,指代非关系型数据库
-
优点:高可扩展性、分布式计算、低成本、灵活架构、半结构化数据、简化关联关系
-
缺点:没有标准化、有限查询、不直观
-
-
常见NoSQL数据库
-
列存储:Hbase、Cassandra、Hypertable
-
文档存储:MongoDB、CouchDB
-
k-v存储:TokyoCabinet、BerkeleyDB、MemcacheDB、redis
-
对象存储:Neo4J、Versant
-
Xml数据库:BerkeleyDB、BaseX
-
注:黑色加粗的为常用的数据库
2.MongoDB概述
MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。
优点:
- C++编写的运行稳定性能高的数据
- 模式自由
- 面向集合
- 完整索引支持
- 复制和高可用性
3.Mongodb术语解释
- database–database:数据库
- table – collection:数据库表 – 集合
- row – document: 数据记录 – 文档
- column – field:数据字段 – 域
- index – index :索引 – 索引
- table-join – None:表连接~
- primary key – primary key :主键
4.MongoDB基本语法——数据类型
- ObjectID:文档id
- String:字符串
- Boolean:布尔值
- Integer:整数
- Double:浮点数
- Arrays:数组或者列表
- Object:嵌入的文档
- Null:空值
- Timestamp:时间戳
- Date:日期时间
2.MySQL的安装
回顾一下MySQL在ubuntu的安装
- 在终端输入命令
sudo apt-get install mysql-server
sudo apt-get install mysql-client
sudo apt-get install libmysqlclient-dev
#安装过程中会提示设置密码什么的,注意设置了不要忘了
- 安装完毕后输入以下命令检测是否安装成功
sudo netstat -tap | grep mysql

- 登陆mysql数据库可以通过如下命令:
mysql -u root -p
-u 表示选择登陆的用户名, -p 表示登陆的用户密码,上面命令输入之后会提示输入密码,此时输入密码就可以登录到mysql。

- 对于Mysql数据库的操作用法之前总结过,详情见
3.Mongodb下载安装
-
官方网站
注意:偶数为稳定版,如1.6,奇数为开发版,如1.7
1.Windows下Mongodb安装

我这里用的是zip安装,安装完毕后,
当前所在磁盘目录下创建data文件夹
data文件夹中创建db文件夹和log文件夹
- 在运行窗口输入命令启动数据库
mongod --dbpath d:/data/db
启动mongoDB数据库
- 打开一个新的窗口输入命令
mongo
,用于数据库操作
打开一个新的窗口,用于数据库操作
2.Linux下Mongodb安装
MongoDB安装很简单,无需下载源文件,可以直接用apt-get命令进行安装。
1 . 打开终端,输入以下命令:
sudo apt-get install mongodb
2 . 安装完成后,在终端输入以下命令查看MongoDB版本:
mongo -version

3 . 启动mongo数据库
- 在终端输入命令
sudo mongo

3.安装pymongo
PyMongo是Mongodb的Python接口开发包,是使用python和Mongodb的推荐方式。
用Python操作MongoDB需要通过PyMongo,输入命令安装
pip install pymongo 默认安装
pip install pymongo==2.8 安装指定版本
pip install –upgrade pymongo 升级PyMongo


4.Mongodb基本使用
1.基本操作
-
mongoDB将数据存储为一个文档
-
数据由 key=value 的键值对的形式组成
-
数据的操作:增删改查
-
nosql三元素:数据库 – 集合 – 文档 [–域]
2.基本语法
-
数据库操作
-
db:查看当前指向的数据库
-
show dbs:查看当前所有的数据库
-
use <数据库名称>:指向一个数据库
Use数据库不会创建数据库,如果操作数据会自动创建数据库 -
db.dropDatabase():删除当前指向的数据库
-
-
集合操作
-
show collections:查看当前数据库所有集合
-
db.createCollection(<c_name> [, options]):创建一个集合
-
db.<集合名称>.drop():删除指定的集合
-
-
增加数据
-
语法:
db.<集合名称>.insert(文档)
-
集合可以是原来存在的,可以是不存在的
-
文档:就是JSON格式表示的数据
-
简单查询:
db.<集合名称>.find()
查询指定集合的数据
-
-
更新数据
-
语法:db.<集合名称>.update(<query>, <update>,[multi:<boolean>])
-
指定属性更新:
$opration
-
multi:默认false更新符合条件第一条,设置true全集合更新
-
-
保存数据
-
语法:
db.<集合名称>.save(文档)
-
特征:[ _id ]如果数据不存在就添加,如果数据存在修改
-
-
删除数据
-
语法:
db.<集合名称>.remove(<query>, {justone:<boolean>})
-
参数query:删除文档的条件
-
参数justOne:设置为true或者1,删除一条;默认false删除多条
-