Spring Boot中增强对MongoDB的配置(连接池等)

> 之前转载了一篇关于[《如何在Spring Boot中是配置MongoDB的连接数》](http://blog.didispace.com/spring-boot-mongodb-connection-pool/)的文章,相信关注我博客的朋友们肯定也看过了。这篇文章的作者主要重写了`MongoDbFactory`的构建来完成,整体实现的过程还是比较复杂的。本文就来具体说说如何更简单的来实现对MongoDB的更多配置定制。

## spring-boot-starter-mongodb-plus

几周之后就在spring4all的github上创建了这个项目,主要就是想扩展一下官方sprin

MongoDB副本集

# 一、MongoDB简介

MongoDB是一个面向文档的数据库,其实是一个介于关系型与非关系型之间的数据库。在MongoDB的世界里,没有行(row)的概念,取而代之的是文档(document)模型,文档内还能嵌入文档、数组等,非常灵活。它支持json和bson的数据格式,可以存储比较复杂的数据类型,因而也受到广大DBA的青睐。
在生产环境中,很少用单节点来支撑业务流量,主要是节点性能与数据安全性方面的考虑,MongoDB可以用副本集来实现数据备份、故障恢复等功能,使用分片技术来使集群存储更多的数据,实现更大的负载,也能保证存储的负载均衡。本文主要介绍的是副本集,有关分片技术会在后面的文章

MongoDB学习

#### MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。

这里提及一下分布式的优点:

- 
可靠性(容错) :

    分布式计算系统中的一个重要的优点是可靠性。一台服务器的系统崩溃并不影响到其余的服务器。

- 
可扩展性:

    在分布式计算系统可以根据需要增加更多的机器。

- 
资源共享:

    共享数据是必不可少的应用,如银行,预订系统。

- 
灵活性:

    由于该系统是非常灵活的,它很容易安装,实施和调试新的服务。

- 
更快的速度:

    分布式计算系统可以有多台计算机的

MongoDB系列一(查询).

## 一、简述

MongoDB中使用find来进行查询。查询就是返回一个集合中文档的子集,子集合的范围从0个文档到整个集合。默认情况下,"_id"这个键总是被返回,即便是没有指定要返回这个键。("_id"是一个集合中每个文档的唯一标识)

查询的使用上有限制,传递给数据库的查询文档必须是常量。(当然,在你的代码里可以是正常的变量)

一个键可以有任意多个条件,但是一个键不能对应多个更新修改器。

条件语句是内层文档的键,而修改器是外层文档的键。

##  二、  使用  find  或者  findOne  函数和  查询  文档  对  数据  库执  行 查询

 1、db.userIn

MongoDB复合索引详解

 摘要:对于MongoDB的多键查询,创建复合索引可以有效提高性能。 

![](http://cdn.itbaby.me/images/2018/03/17/536bb6088271214e633a3e2d3e036d06.jpg)

### 什么是复合索引? 

 复合索引,即 **Compound Index** ,指的是将多个键组合到一起创建索引,这样可以加速匹配多个键的查询。不妨通过一个简单的示例理解复合索引。 

students集合如下:

    db.students.find().pretty()
    {
    	"_id" : ObjectId("5aa7390ca

还记得 PokémonGo 吗?未来你可能会玩到更多这样的游戏了

2016 年 PokémonGo 的到来,让 AR 游戏开始大规模走到普通人的生活中,而将虚拟和现实融合在一起的全新游戏体验,也受到了广大玩家们的追捧。时至今日,虽然这款游戏已经没有了当初的热度,但事实证明,AR 在游戏产业中的应用,正在变得越来越频繁。

毫无疑问,无论是早些时候的 PokémonGo,还是最近的行尸走肉、侏罗纪世界,此类基于位置信息所打造的游戏,均离不开地图的支持。从某种角度来说,未来游戏厂商们想要在这方面走的更远,离不开地图应用的支持。

![](http://cdn.itbaby.me/images/2018/03/17/3ff7f50e469dc2b5c78ad7f6

高可用的MongoDB集群详解

**编辑推荐:**本文来自于java虾米的博客,本文主要通过环境搭建介绍高可用的 MongoDB 集群和配置。

1.序言

MongoDB 是一个可扩展的高性能,开源,模式自由,面向文档的数据库。 它使用 C++编写。MongoDB 包含一下特点:

1.面向集合的存储:适合存储对象及JSON形式的数据。

2.动态查询:Mongo 支持丰富的查询方式,查询指令使用 JSON 形式的标记,可轻易查询文档中内嵌的对象及数组。

3.完整的索引支持:包括文档内嵌对象及数组。Mongo 的查询优化器会分析查询表达式,并生成一个高效的查询计划。

4.查询监视:Mongo包含一个监控工具用于分析数据

Percona Server for MongoDB 3.2.19-3.10 发布

 Percona 宣布发布  Percona Server for MongoDB 3.2.19-3.10。Percona Server for MongoDB 是一款增强型,开放源代码且高度可扩展的数据库,它是MongoDB 3.2社区版的完全兼容的替代产品。它支持MongoDB 3.2协议和驱动程序。 

更新内容:

- 
[#PSMDB-191](https://jira.percona.com/browse/PSMDB-191) : Fixed a bug in  [MongoRocks](https://www.percona.com/doc/percona-server-for-

MongoDB的使用

![](http://cdn.itbaby.me/images/2018/03/17/247618bdfd41314e37e66fc074b9b8f8.jpg)

## 简介

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。

## NoSQL特点

- 代表着不仅仅是SQL(Not Only SQL)
- 键值对存储,列存储,文档存储,图形数据库
- 最终一致性,而非ACID属性
- 非结构化和不可预知

Injectify:一款执行MiTM攻击的工具

今天给大家介绍一款功能强大的高级中间人攻击工具,该工具名叫Injectify,而这款工具将可以帮助我们轻松地对目标网站进行渗透测试。

![](http://cdn.itbaby.me/images/2018/03/11/dfcda448ebd2b4c12746358ef7827964.jpg)

Injectify是一款基于现代Web开发的中间人攻击工具,该工具跟BeEF的功能类似,并且能够在多种客户端平台运行(Web端、桌面端、或浏览器插件)。

## 功能介绍

1.   在目标用户跟攻击者之间创建一个反向JavaScript Shell。

2.   记录目标用户的键盘信息并将其存储在