Mongodb安装和使用
来源:互联网 发布:淘宝订单管理系统介绍 编辑:程序博客网 时间:2024/05/22 17:31
NoSql数据库的优缺点:
优点:
1.简单的拓展
2.快速的读写
3.低廉的成本
4.灵活的数据模型
缺点:
1.不提供对sql的支持
2.支持的特性不够丰富
3.现有的产品不够成熟
mongodb特性:
1.面向集合
数据被分组存储在数据集中被称为一个集合,每个集合在数据库中都有一个唯一的标识名,并且可以包含无限数目的文档,集合的概念类似关系型数据库里的表,不同的是他不需要定义任何模式
2.模式自由
集合里面没有列和行的概念,下面两个记录可以存在于同一个集合里面:
{"name":"mongo"}
{"age":25"
3.文档型
存储的数据是键值对的集合,键是字符串,值可以是数据类型集合里的任意类型,包括数组和文档,每一个文档相当于关系数据库中的一条记录
特性:
1.面向集合存储,易于存储对象类型的数据
2.模式自由
3.支持动态查询
4.支持完全索引,包含内部对象
5.支持复制和故障恢复
6.使用高效的二进制数据存储,包括大型对象(如视频等)
7.自动处理碎片,以支持云计算层次的拓展性
8.文件存储格式为BSON(json的二进制格式)
mongodb适用场景:
1.持久化缓存层
2.高效的实时性
3.用于对象及json数据的存储
4.高伸缩性的场景
5.大尺寸,低价值的数据存储
不适用场景:
1.要求高度事务性的系统
2.传统的商业智能应用
3.复杂多表查询
mongodb安装:
1.下载mongodb,并解压
2.新建路径,如D:\mongodb,将解压出来的bin目录复制到该目录下
3.在D:\mongodb目录下在新建data目录,在data目录下新建两个目录:db和log。//db为数据库目录、log为日志目录
4.打开命令行,进入目录D:\mongodb\bin;输入mongod.exe --dbpath D:/mongodb/data/db,可能会提示“waiting for connections on port 27017”时,到浏览器中输入地址“localhost:27017”,ok! 回到doc窗口。可能会看到“admin web console waiting for connections on port 28017 ”,再回到浏览器。输入“localhost:28017”,ok!
5.打开另外一个dos窗口,进入到d:\mongodb\bin目录,执行命令“D:\mongodb\bin>mongo”,可以看到
MongoDB shell version: 2.4.8
connecting to: test
OK!
6.可以添加到系统服务中,以管理员身份启动命令行,进入到bin目录下,运行命令mongod -dbpath "d:\mongodb\data\db" --logpath "d:\mongodb\data\log\mongodb.log" --install --serviceName "MongoDB" 在计算机-管理-服务和应用程序中查看。
安装注意事项:目录一定不能出现中文
MongoDB的体系结构分析
1.逻辑结构关系对比
关系型数据库:
MySql由数据库(database),表(table),记录(rows)三个层次概念组成
非关系型数据库:
MongoDB由数据库(database),集合(collection),文档对象(document)三个层次盖帘组成
MongoDB里的集合对应于关系型数据库里的表,但是集合中没有列,行和关系的概念,集合中只有文档,一个文档就相当于一条记录,这体现了模式自由的特点
2.数据存储结构:
MySql的数据存储结构:
mysql的每个数据库存放在一个与数据库同名的文件夹中,mysql如果使用myisam存储引擎,数据库文件类型就包括.frm MYD MYI,
mongoDB的数据存储结构:
mogoDB默认目录是/data/db,它负责存储所有的mongoDB的数据文件,在mongoDB内部,每个数据库都包含一个.ns文件和一些数据文件,而且这些数据文件会随着数据量的增加而变得越来越多。所以如果系统中有一个叫做mydb的数据,那么构成mydb这个数据库的文件就会有mydb.ns,mydb.0,mydb.1等组成
3.mongoDB数据类型
mongoDB的文档使用BSON(Binary JSON)来组织数据,BSON类似于JSON,JSON只是一种简单的表示数据的方式,只包含了6种数据类型(null,布尔,数字,字符串,数组,对象),不能完全满足复杂业务的需要,因此,BSON还提供日期,32位数字,64位数字等类型
1.null
null类型用于表示空值或不存在的字段
如:{“one":null}
2.布尔类型
布尔类型有两种值:true false
如:{"one":true}
3.32位整数
mongoDB的控制台使用JS引擎进行输入,而JS仅支持64位浮点数,所以32位整数将会被自动转义
4.64位整数
64位整数与32位整数一样,在MongoDB控制台使用时,会转义成64位浮点数
5.64位浮点数
MongoDB控制台数字的默认类型
如:{”one“:2.02} {”one“:10}
6.字符串
UTF-8字符串都可以表示为字符串类型的数据
如:{”one“:”hello world"}
7.符号
在MongoDB控制台中不支持这种类型,将自动转义成字符串
8.ObjectId类型
对象id是文档中唯一的12位的ID
0|1|2|3|4|5|6|7|8|9|10|11
时间戳 | 机器 | PID | 计数器
如:ObjectId("4fjei39djfke39234jikjdf9ejf“)
9.日期
注意:使用的时候要加上new
如:{”one“:new Date()}
10.正则表达式
文档键值可以包含正则表达式,其正则表达式采用JS语法来表示
如:{”one":/ho/i}
11.文档中可以包含JS代码
如:{“one": function(){/*....*/}}
12.数组
文档中键值可以表示为数组,在数组内还可以嵌套数组
如:{"x":["a","b",["c","d"]}
13.内嵌文档
文档可以包含别的文档,也可以作为值嵌入到父文档中
如:{"x":{"name":"Tom","age":20}}
五。常用命令
控制台的基本操作命令
1.如果想查看当前连接那个数据库,->db
2.查看用户列表 ->db.system.users.find()
3.查看所有用户->show users
4.查看所有数据库->show dbs
5.查看所有集合->show collections
6.删除当前的数据库->db.dropDatabase()
7.想知道mongodb支持哪些命令->help
8.删除collection db集合名->drop()
9.想知道当前数据库支持哪些方法:db.help()
10.想知道当前集合支持哪些方法->db.user.help(), user为集合名
- 安装mongodb和使用mongodb
- Mongodb安装和使用
- Mongodb安装和使用
- Mongodb安装和使用
- MongoDB 安装和使用
- mongoDB安装和使用
- 安装和使用MongoDB
- mongoDB安装配置和使用
- 安装MongoDB和简单使用
- mongodb的安装和使用
- Mongodb的安装和使用
- MongoDB 的安装和使用
- MongoDB安装和基本使用
- MongoDB 2: 安装和使用
- MongoDb的安装和使用
- mongodb的安装和使用
- mongodb安装和mongoVUE使用
- Mac 安装和使用MongoDB
- Oracle 中deferred_segment_creation 的用法以及exp时解决办法
- 高级人工智能的实现方法
- Jquery在线引用地址
- 利用AbstractRoutingDataSource实现动态数据源切换(Spring+Ibatis)
- Eclipse快捷键
- Mongodb安装和使用
- 做最真实的自己,做好seo。你懂的
- javascript正则校验电话号码
- BZOJ1583 USACO 2009 Mar Gold 1.Moon Mooing Solution
- Linux守护进程(init.d和xinetd)
- 关于Provision.apk
- 组合复用原则
- Spring security深入杂谈
- POJ 2182 Lost Cows