对于这个用例,我对于框架选择是:Spring Data,接着是Jongo和Java Driver。 Jongo排第二是因为其映射的功能,而不是其他方面的功能;Java Driver也基本相同。Morphia排最后是因为缺少对geoNear查询的支持,并且缺少对地理对象的内置支持(double类型的数组除外)。当Morphia的下一个版本发布的时候,它的关注点可能会改变。使用Java Driver写出的程序可能较冗长,但是和Groovy搭配在一起使用,冗长的缺点也可以克服。
这是一个相当简单的例子,但是对我来说这是一个宝贵的学习经验。基于上文中我的了解,我可能倾向于使用Spring Data MongoDB框架,并且当在库接口里函数过于复杂时,我会引入Java Driver。或许在其他的场景下,我的选择会不一样,时间会给我答案。我觉得,胸中有了这两个的组合,没有什么我做不了的了。