随笔分类 -  mongodb

摘要:GITHUB:https://github.com/peterowang/Springdata-mongo 使用DBRefs DBRefs中有三个字段 - $ref - 此字段指定引用文档的集合 $id - 此字段指定引用文档的_id字段 $db - 这是一个可选字段,并包含引用文档所在的数据库的名 阅读全文
posted @ 2017-09-12 18:00 奋小斗g 阅读(661) 评论(0) 推荐(0) 编辑
摘要:本篇文章主要介绍了mongodb对应java的常用增删改查的api,以及和spring集成后mongoTemplate的常用方法使用,废话不多说,直接上代码: 1.首先上需要用到的两个实体类User和Home,对应用户和家乡 import java.util.List;import org.spri 阅读全文
posted @ 2017-05-15 12:50 奋小斗g 阅读(300) 评论(0) 推荐(1) 编辑
摘要:MongoDB没有像SQL数据库外开箱即用自动递增功能。默认情况下,它采用了12字节的ObjectId为_id字段作为主键来唯一地标识文档。然而,可能存在的情况,我们可能希望_id字段有一些其它的自动增加值不是ObjectId。 由于这不是MongoDB的默认功能,我们将通过编程通过使用计数器集合, 阅读全文
posted @ 2017-05-12 13:59 奋小斗g 阅读(2770) 评论(0) 推荐(0) 编辑
摘要:上限集合是固定大小的循环集合按照插入以支持高性能的创建,读取和删除操作。通过循环,这意味着,当分配给该集合中的固定大小要用尽时,它会开始删除集合中最旧的文件而不提供任何明确的命令。 上限集合限制更新,如果更新导致增加的文档大小的文件。 由于在磁盘存储器的顺序封端集合存储文档,它确保了文件大小不会增加 阅读全文
posted @ 2017-05-12 13:45 奋小斗g 阅读(831) 评论(0) 推荐(0) 编辑
摘要:GridFS 介绍 GridFS是MongoDB规范用于存储和检索大文件,如图片,音频文件,视频文件等。这是一种文件系统用来存储文件,但数据存储于MongoDB集合中。GridFS存储文件比其文档大小16MB限制的更大能力。 GridFS的划分一个文件分成块存储数据每个块在一个单独的文件,每个最大尺 阅读全文
posted @ 2017-05-12 11:09 奋小斗g 阅读(14043) 评论(0) 推荐(0) 编辑
摘要:正则表达式常用来在所有语言中搜索字符串的任何模式或文字。MongoDB还提供了正则表达式功能的字符串模式使用正则表达式$regex操作符。MongoDB使用PCRE(Perl兼容正则表达式)为正则表达式语言。 不同于文本搜索,我们不需要做任何配置或命令就能直接使用正则表达式。 考虑下包含文字后其标签 阅读全文
posted @ 2017-05-12 10:45 奋小斗g 阅读(824) 评论(0) 推荐(0) 编辑
摘要:启用文本搜索: 最初文本搜索是一个实验性功能,但2.6版本开始,配置是默认启用的。但是,如果使用的是以前 MongoDB 的版本,那么必须启用文本搜索,使用下面的代码: 创建文本索引: 考虑下文字后其标签的帖子集合,包含以下文件: 我们将创建post_text字段的文本索引,以便我们能够在我们的帖子 阅读全文
posted @ 2017-05-12 10:34 奋小斗g 阅读(3224) 评论(0) 推荐(0) 编辑
摘要:我们一直在使用MongoDB的对象ID在所有前面的章节。在本章中,我们将来理解ObjectId的结构。 ObjectId 具有一个12字节的BSON类型的结构,如下: 前4个字节,从Unix纪元以来表示秒 接下来的3个字节是机器标识 接下来的2个字节进程ID组成 最后的3个字节是一个随机计数器值 M 阅读全文
posted @ 2017-05-12 10:19 奋小斗g 阅读(306) 评论(0) 推荐(0) 编辑
摘要:考虑以下文档中的用户集合: 上述文档中包含一个 address 子文档 和 标签数组. 索引数组字段: 假设我们要搜索基于用户文档的标签。对于这一点,我们将在集合中创建一个索引的标签数组。 创建索引在数组上,依次创建它的每个字段的单独索引条目。因此,在我们的例子中,当我们在标签数组创建一个索引,单独 阅读全文
posted @ 2017-05-12 10:15 奋小斗g 阅读(164) 评论(0) 推荐(0) 编辑
摘要:原子操作模型数据findAndModify 推荐的方法,以保持原子将保留所有的相关信息,这些信息经常更新,一个文档中使用嵌入文档。这将确保所有的更新为一个单一文档是原子。 考虑下面的 products 文档: 在本文档中,我们已经嵌入客户买该产品的信息在 product_bought_by 字段中。 阅读全文
posted @ 2017-05-12 10:07 奋小斗g 阅读(17430) 评论(1) 推荐(0) 编辑
摘要:连接mongodb 1.连接一个mongodb MongoClient mongoClient = new MongoClient( "localhost" , 27017 ); 2.连接mongodb集群 MongoClient mongoClient = new MongoClient( Arr 阅读全文
posted @ 2017-05-11 17:23 奋小斗g 阅读(854) 评论(0) 推荐(0) 编辑
摘要:MongoDB 监测 当正在准备一个MongoDB 部署,应该尽量了解应用程序将要投入生产。制定一个一致的,可重复的方法来管理部署环境,可以最大限度地减少任何意外。 最好的方法采用了原型,进行负载测试,监测的关键指标,并利用这些信息来扩展设置。办法是主动监控整个系统的关键部分 - 这将帮助了解您的生 阅读全文
posted @ 2017-05-11 10:37 奋小斗g 阅读(240) 评论(0) 推荐(0) 编辑
摘要:1.mongodb 备份 mongodump 命令可以使用可用的选项的列表。 此命令将仅备份指定的数据库,在指定的路径 语法描述示例 mongodump --host HOST_NAME --port PORT_NUMBER 这条命令,将指定mongod实例备份所有的数据库。 mongodump - 阅读全文
posted @ 2017-05-11 10:23 奋小斗g 阅读(197) 评论(0) 推荐(0) 编辑
摘要:搭建高可用mongodb集群(四)—— 分片 按照上一节中《搭建高可用mongodb集群(三)—— 深入副本集》搭建后还有两个问题没有解决: 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据压力大到机器支撑不了的时候能否做到自动扩展? 在系统早期,数据量还小的时候不会引起太大的 阅读全文
posted @ 2017-05-10 17:52 奋小斗g 阅读(235) 评论(1) 推荐(1) 编辑
摘要:搭建高可用mongodb集群(三)—— 深入副本集内部机制 在上一篇文章《搭建高可用mongodb集群(二)—— 副本集》 介绍了副本集的配置,这篇文章深入研究一下副本集的内部机制。还是带着副本集的问题来看吧! 副本集故障转移,主节点是如何选举的?能否手动干涉下架某一台主节点。 官方说副本集数量最好 阅读全文
posted @ 2017-05-10 17:51 奋小斗g 阅读(275) 评论(1) 推荐(2) 编辑
摘要:搭建高可用mongodb集群(二)—— 副本集 在上一篇文章《搭建高可用MongoDB集群(一)——配置MongoDB》 提到了几个问题还没有解决。 主节点挂了能否自动切换连接?目前需要手工切换。 主节点的读写压力过大如何解决? 从节点每个上面的数据都是对数据库全量拷贝,从节点压力会不会过大? 数据 阅读全文
posted @ 2017-05-10 17:50 奋小斗g 阅读(292) 评论(2) 推荐(1) 编辑
摘要:搭建高可用mongodb集群(一)——配置mongodb 在大数据的时代,传统的关系型数据库要能更高的服务必须要解决高并发读写、海量数据高效存储、高可扩展性和高可用性这些难题。不过就是因为这些问题Nosql诞生了。 NOSQL有这些优势: 大数据量,可以通过廉价服务器存储大量的数据,轻松摆脱传统my 阅读全文
posted @ 2017-05-10 17:49 奋小斗g 阅读(657) 评论(1) 推荐(0) 编辑
摘要:聚合操作过程中的数据记录和计算结果返回。聚合操作分组值从多个文档,并可以执行各种操作,分组数据返回单个结果。在SQL COUNT(*)和group by 相当于MongoDB的聚集。 aggregate() 方法 对于在MongoDB中聚集,应该使用aggregate()方法。 语法: aggreg 阅读全文
posted @ 2017-05-10 17:40 奋小斗g 阅读(232) 评论(0) 推荐(0) 编辑
摘要:sort() 方法 要在 MongoDB 中的文档进行排序,需要使用sort()方法。 sort() 方法接受一个文档,其中包含的字段列表连同他们的排序顺序。要指定排序顺序1和-1。 1用于升序排列,而-1用于降序。 语法: sort() 方法的基本语法如下 >db.COLLECTION_NAME. 阅读全文
posted @ 2017-05-10 17:39 奋小斗g 阅读(601) 评论(0) 推荐(0) 编辑
摘要:Limit() 方法 要限制 MongoDB 中的记录,需要使用 limit() 方法。 limit() 方法接受一个数字型的参数,这是要显示的文档数。 语法: limit() 方法的基本语法如下 >db.COLLECTION_NAME.find().limit(NUMBER) 示例 考虑集合myy 阅读全文
posted @ 2017-05-10 17:35 奋小斗g 阅读(494) 评论(0) 推荐(0) 编辑