忙了四五天,终于对mongoDB有了一定的认识和了解。前面几篇博客中,我介绍了在Linux下mongoDB的安装和遇到的问题,以及在Linux下mongoDB的高级查询和高级修改的一些语法规则。本篇博客我将隆重介绍mongoDB在java驱动包下的操作。
MongoDB可能是现今NoSQL数据库中最著名的,但并不意味着MongoDB是完美的,在某些情况下,传统的关系数据库如MySQL和PostgreSQL更具优势。但MongoDB目前已经相当广泛,使用者们在充分享受它的灵活性。
--西楚小羽
首先来谈一下爱上mongoDB的七大理由:
1. 文档存储
数据存储以BSON/JSON文档,这对于Web应用程序有很大的意义。开发者API喜欢以JSON形式传输,这使得整个项目的数据表示可采用统一的模型。所有这一切都无需任何前期架构设计。
2. 可扩展性
MongoDB被用在一些规模庞大的环境中,FourSquare/Craiglist都在使用它。通过分片数据缩放处理理论上可实现更高的吞吐量。
3. 简单的复制
就像分片技术一样,MongoDB范围内复制过程同样简单好用,在副本机器上还有大量的复制选项。灵活的功能可满足用户应用的需求。
4. 易于查询
MongoDB以文档的形式存储数据,不支持事务和表连接。因此查询的编写、理解和优化都容易得多。简单查询设计思路不同于SQL模式,嵌入文档在特定的环境下可得到更好的查询,然而这需要先加入集合。如果需要执行多个请求到数据库则需要加入其到客户端。在MongoDB时ODM工具(如Doctrine2)将发挥自身的优势。
5. 安全性
由于MongoDB客户端生成的查询为BSON对象,而不是可以被解析的字符串,所以可降低受到SQL注入的攻击的危险。最常见的攻击类型为针对Web应用程序的攻击,在MongoDB上使用Doctrine2 ODMs 查询语言可减轻攻击风险。
6. 支持
用户在选择数据库时总是喜欢积极和充满活力的,这点非常重要。MongoDB在业界有非常大的影响力,用户也会定期的组织活动。MongoDB的标签在StackOverFlow是非常活跃的。你永远不会陷入困境,因为总有人与你讨论并解决问题。
7. 价格
MongoDB是免费的!
开发环境:
System:Windows
IDE:eclipse、MyEclipse2014
Database:mongoDB
开发依赖库:
mongo-java-driver-2.10.1.jar
junit-4.11.jar
一、准备工作
1、 首先,下载mongoDB对Java支持的驱动包
mongoDB对Java的相关支持、技术:http://www.mongodb.org/display/DOCS/Java+Language+Center