使用Scala的MongoDB最适合使用哪个库?

hit*_*asa 15 scala mongodb

我想在Scala中使用MongoDB.我找到了2个库.

  1. 升蒙戈
  2. 蒙戈 - 斯卡拉驱动器

你能告诉我哪个库最好用吗?如果你知道,请告诉我另一个.

Bre*_*ams 24

你应该仔细看看Casbah,它是官方(并且完全支持)的MongoDB Scala驱动程序:

http://api.mongodb.org/scala/casbah/latest

我承认有点偏向于项目的创建者和维护者,但官方支持带来了很多好处,包括有一个全职开发人员背后的事实.对于常见的Scala类型和DBObject的Scala集合样式实现,内置了实体类型转换包装器,这些实现比许多其他驱动程序使用的默认Java对象要好得多.还有一个完整的查询dsl,它映射到Mongo查询语法.

我也喜欢Lift的东西,并且最近开始与Lift团队一起工作以帮助改进它.Foursquare刚刚发布了一个名为Rogue的lift-mongo-record的查询dsl,它驱动自己的Scala + MongoDB系统:

http://GitHub.com/foursquare/rogue

我发现大多数人都使用Lift或Casbah,但YMMV.如果您需要更多帮助,请随时给我打电话.

  • 卡斯巴现在还在推荐吗?来自[mongodb网站](https://docs.mongodb.com/ecosystem/drivers/scala/),据说Casbah是MongoDB的传统Scala驱动程序. (5认同)

Jan*_*anx 5

我说,作为Casbah的公正用户,我肯定会使用Casbah.

核实:

val mongo = MongoConnection()
val coll = mongo("myDB")("myCollection")
val builder = MongoDBObject.newBuilder
builder += "username" -> "Janx"
builder += "comment" -> "Casbah is cool!"
coll += builder.result.asDBObject
Run Code Online (Sandbox Code Playgroud)

那当然只是一种品味.如果您来自Java驱动程序,那么使用起来非常令人耳目一新.而且由于它现在是由10Gen和才华横溢的麦克亚当斯先生支持的Scala驱动程序,所以它真的是一个明智的选择.干杯!