发布于 2016-12-21 08:55:46 | 136 次阅读 | 评论: 0 | 来源: 网友投递
MongoDB 分布式文件存储的数据库
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB Plugin 1.0.8 发布了。
驱动
1.0.8 版本中 Mongodb Plugin 的依赖驱动跟随官方升级到最新的 3.4.0 版本。以下简称 plugin
MongoDB 在 3.4 版本增加了大量的 aggregation 操作符,功能更加强大了。但由于新版本中的很多操作符目前还并不是常用的,所以 plugin 只支持了下面这两个(未简化版本):
$grahpLookup 在 3.2的$lookup 的基础上更进一步,能支持更复杂的关系运算了。
$addFields 使得文档操作更丰富了,比如将某些字段求和存储为新的字段。
你可以通过 MongoAggregation(query).grahpLookup() 或 .addFields() 使用。当然为了方便大家使用尚不支持的可以通过 .pipeline(聚合操作)放入官方驱动的 Aggregates 的方法生成的 bson。
这个版本中我们调整了目录结构,如果更新到 1.0.8 的话需要更新下引用的类的路径。
优化
1.0.8 版本中如果使用 plugin 自己实现的 join 查询的话,会自动将 _id 转为 id。在使用 replace 方法替换 docment 时自动去除 _id。
重新实现了 MongoQuery 的 set 方法,现在放入一个 Bean 对象能够保留原有的格式插入数据库并且支持一层对象嵌套。
优化了 save 方法,在之前的版本中如果保存时出现问题是不会抛出异常直接返回 false 的,新版本中在返回 false 的同时会输出错误日志。
为了解决 MongoDB Driver 的调试日志输出,我们在 MongoKit 中增加了 setDebug 方法来允许开发者自行设置是否打开开发者模式。
修复
修复聚合查询放入搜索条件判断错误的 bug
修复分页器的判断逻辑
地理位置
现在已经支持 MongoDB 的地理位置检索特性,详情见地理位置。