与关系型数据库相比,MongoDB的优点: 1:一致性(最终一致),更能保证用户的访问速度: 2:文档结构的存储方式,能够更便捷的获取数据 在一个关系型数据库中,一篇博客(包含文章内容、评论、评论的投票)会被打散在多张数据表中。在MongoDB中,能用一个文档来表示一篇博客, 评论与投票作为文档数组,放在正文主文档中。这样数据更易于管理,消除了传统关系型数据库中影响性能和水平扩展性的“JOIN”操作 定义 mongodb是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 安装: http://blog.csdn.net/liuzhoulong/article/details/6124566 Java代码示例:
?
原生写法
?
MongoTemplate template = new MongoTemplate(new Mongo("192.168.1.5", 27017), "Test1"); BeanOne beanOne = new BeanOne(); beanOne.setId("1001"); beanOne.setDesc("this bean one"); template.save(beanOne); BeanOne result = template.findById("1001", BeanOne.class); System.out.println(result.getDesc()); BeanTwo beanTwo = new BeanTwo(); beanTwo.setId("1001"); beanTwo.setDesc("this bean two"); template.save(beanTwo); BeanTwo result2 = template.findById("1001", BeanTwo.class); System.out.println(result2.getDesc()); template.updateFirst(new Query(Criteria.where("id").is("1001")), Update.update("desc", "this bean one update"), BeanOne.class); BeanOne resultupdate = template.findById("1001", BeanOne.class); System.out.println(resultupdate.getDesc()); template.remove(new Query(Criteria.where("id").is("1001")), BeanOne.class); BeanOne resultrevmove = template.findById("1001", BeanOne.class); System.out.println(resultrevmove.getDesc());
?
?spring整合
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:mongo="http://www.springframework.org/schema/data/mongo" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/data/mongo http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd"> <!-- <mongo:mongo host="192.168.1.5" port="27017" /> --> <mongo:mongo id="mongo" replica-set="${mongo.servers}"/> <mongo:db-factory dbname="database" mongo-ref="mongo"/> <bean id="mongoTemplate" class="org.springframework.data.mongodb.core.MongoTemplate"> <constructor-arg name="mongoDbFactory" ref="mongoDbFactory" /> </bean> </beans>
?
?
mongoTemplate.updateFirst(new Query(Criteria.where("id").is(mid)), Update.update("ownJoinNum", 0), OwnJoinMongoBean.class);
?
?
?