我只会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几乎全部支持。
相关推荐
在Python的世界中,PyPI(Python Package Index)是开发者们最常访问的资源库,它提供了丰富的第三方库,帮助开发者们快速构建、分享和使用软件项目。本次我们关注的是一个名为`graphene-mongo-0.1.17.tar.gz`的...
在Laravel中集成MongoDB,我们需要使用第三方扩展——Jenssegers/Laravel-MongoDB,这是一款为Laravel设计的MongoDB Eloquent ORM。 **安装Jenssegers/Laravel-MongoDB** 开始之前,确保已经安装了Composer,这是...
标准库中的`testing`包提供了基本的测试功能,而testify、gocheck等第三方库则提供了更丰富的断言和测试辅助工具,使得测试更加灵活和方便。 工程化工具如make、go tool、godep和dep,帮助开发者构建、打包和管理Go...
Node.js的npm(Node Package Manager)生态系统拥有海量的第三方模块,方便开发者快速构建功能丰富的后端服务。 5. **整合MERN**: MERN Stack的整合使得开发者可以使用同一种编程语言——JavaScript,从后端到...
例如,使用MongoDB的命令行工具、日志文件分析以及第三方工具来监控性能指标、发现潜在问题并解决问题。 5. **Django与MongoDB**(Django and MongoDB):Django是一个基于Python的Web框架,而MongoDB是一种NoSQL...
6. `node_modules` - 存放项目依赖的第三方库。 7. `.gitignore` - 定义了版本控制中应忽略的文件或目录。 8. `README.md` - 项目说明和使用指南。 9. 测试文件 - 通常以`.spec.js`或`.test.js`结尾,用于单元测试。...