mongo简介——驱动与第三方支持

12 篇文章 0 订阅

我只会java,介绍的当然就是用java实现的第三方库。

目前spring已经能支持mongo,不过相关的jar不在官方发布的默认发布包里面,需要到spring网站上下载mongo支持包。

具体怎么下,到springframework.org上面搜索mongo就好了。

可以直接下载压缩包,也可以用maven下载。

 

它秉承了spring一贯的Template模式,可以通过各种creteria对象实现增删改查。

个人觉的操作起来相当复杂,不易掌握,整个过程就像构建hibernate creteria对象差不多。

 

本文介绍一另一个更简单的框架,它是基于jackson和java驱动实现的mongo支持包(详细内容请戳:http://jongo.org/)。

依赖mongodb java驱动、json库jackson、beson4jackson。

所需代码非常简单,可以用java以类似shell的方式访问mongo,下面抄几行来自其官网的代码:

 

SHELL

db.friends.find({age:{$gt:18}})

JAVA DRIVER

friends.find(newBasicDBObject("age",newBasicDBObject("$gt",18)))

JONGO

friends.find("{age: {$gt: 18}}").as(Friend.class)

数据库连接初始化:

DB db =newMongo("localhost",27017).getDB("dbname");Jongo jongo =newJongo(db);MongoCollection friends = jongo.getCollection("friends");Iterable<Friend> all = friends.find("{name: 'Joe'}").as(Friend.class);Friend one = friends.findOne("{name: 'Joe'}").as(Friend.class);

使用占位符的查询字符串:

friends.find("{name:#, age:#}","Joe",18);//→ will produce {name: 'Joe', age: 18}
friends.find("{address: #}",newAddress(..));//→ will marshall Address object
List<String> ages =Lists.newArrayList(22,63);
friends.find("{age: {$in:#}}", ages);//→ will produce {age: {$in:[22,63]}}

写关注更新:

jongo.getCollection("friends").withConcern(WriteConcern.SAFE);

关于WriteConcern有很多的预定义对象,可供选择,实现不同的写关注操作。

目前mongo支持的各种操作符和函数,Jongo几乎全部支持。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值