1.MongoDB索引 1.1.创建索引 db.books.ensureIndex{{number:1}} 创建索引同时指定索引的名字 db.books.ensureIndex({number:1},{name:"book_"}) 1.2.索引使用需要注意的地方 1)创建索引的时候注意1是正序创建索引-1是倒序创建索引 2)索引的创建在提高查询性能的同事会影响插入的性能 对于经常查询少插入的文档可以考虑用索引 3)符合索引要注意索引的先后顺序 4)每个键全建立索引不一定就能提高性能呢…
数据准备 下载国家地震数据 http://data.earthquake.cn/data/ 通过navicat导入到数据库,方便和mysql语句做对比 shard分片集群配置 # step 1 mkdir -p ./data/shard/s0 ./data/shard/s1 #创建数据目录 mkdir -p ./data/shard/log # 创建日志目录 ./bin/mongod --port 27017 --dbpath /usr/local/mongodb/data/shard/s0 -…
MongoDB高级知识 一.mongodb适合场景: 1.读写分离:MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务器上,自动同步数据.Primary和Secondary节点提供服务.两个节点分别提供独立域名,配合MongoDB Driver可自行实现读取压力分配. 2.业务灵活多变:由于MongoDB采用No-Schema的方式,对于初创型的业务非常适用,免去变更表结构的痛苦.用户可以将模式固定的结构化数据存储在RDS中,模式灵活的业务存储在 MongoDB中,高…
MongoDB高级知识 一.mongodb适合场景: 1.读写分离:MongoDB服务采用三节点副本集的高可用架构,三个数据节点位于不同的物理服务器上,自动同步数据.Primary和Secondary节点提供服务.两个节点分别提供独立域名,配合MongoDB Driver可自行实现读取压力分配. 2.业务灵活多变:由于MongoDB采用No-Schema的方式,对于初创型的业务非常适用,免去变更表结构的痛苦.用户可以将模式固定的结构化数据存储在RDS中,模式灵活的业务存储在 MongoDB中,高…
MongoDB 关系 MongoDB 的关系表示多个文档之间在逻辑上的相互联系. 文档间可以通过嵌入和引用来建立联系. MongoDB 中的关系可以是: 1:1 (1对1) 1: N (1对多) N: 1 (多对1) N: N (多对多) 接下来我们来考虑下用户与用户地址的关系. 一个用户可以有多个地址,所以是一对多的关系. 以下是 user 文档的简单结构: { "_id":ObjectId("52ffc33cd85242f436000001"), "n…
介绍MongoDB支持的一些高级功能: 数据库命令 固定大小的集合 GridFS存储大文件 MongoDB对服务端JavaScript的支持 数据库命令 命令的原理 MongoDB中的命令其实是作为一种特殊类型的查询来实现的,这些查询针对$cmd集合来执行.runCommand仅仅是接受命令文档,执行等价查询. >db.runCommand({"drop":"test"}) 上面的命令等价于下面的查询: >db.$cmd.findOne({"d…
转载 http://blog.163.com/lgh_2002/blog/static/440175262012052116455/ 详见官方的手册: http://www.mongodb.org/display/DOCS/Advanced+Queries#AdvancedQueries-ConditionalOperators%3A%3C%2C%3C%3D%2C%3E%2C%3E%3D 版本一: 1 ) . 大于,小于,大于或等于,小于或等于 $gt:大于 $lt:小于 $gte:大于或等于…
MongoDB高级知识-易使用 mongodb是一个面向文档的数据库,而不是关系型数据库.不采用关系模型主要是为了获取更好的扩展性.当然还有其他的一些好处. 与关系型数据库相比,面向文档的数据库不再有行的概念,取而代之的是更为灵活的文档模型.通过在文档嵌入文档和数组,面向文档的方法能够仅使用一条记录来表现复杂的层次关系,这与使用现代面向对象语言的开发者对数据的看法是一致的. 另外,不再有预定义模式:文档的键和值不再是固定的类型和大小.由于没有固定的模式,根据需要添加或删除字段变的容易了.通常,由…
MongoDB高级知识-易扩展 应用程序数据集的大小正在以不可思议的速度增长.随着可用宽带的增长和存储器价格的下跌,即使是一个小规模的应用程序,需要存储的数据也可能大的惊人,甚至超出了很多数据库的处理能力.过去非常罕见的T级别数据,现在已是司空见惯了. 由于需要存储的数据不断增长,开发者面临一个困难:应该如何扩展数据库?接下来完我们就来讲讲. 一.mongodb如何扩展? 1.纵向:纵向扩展就是使用计算能力更强的机器. 提升计算机的配置,但是配置高价格也随之上升,当上升到一定的程度就无法提升了.…
今天在使用mongoDB高级查询$type:符号 -- 4代指Array类型发现一个问题. $type符号: $type操作符是基于BSON类型来检索集合中匹配的数据类型,并返回结果. 下面是mongoDB可使用类型参照表,图来自mongoDB菜鸟教程. 我使用的是mongoDB shell version是2.6.10版本比较老,不能使用insertOne/Many,deleteOne/Many等这些新方法. 因此下了个可视化工具robomongodb,这是官方下载地址:https://rob…