uzi*_*lan 5 scala mongodb casbah salat
我正在使用Casbah和Salat来创建我自己的Mongodb dao并且正在实现这样的getAll方法:
val dao: SalatDAO[T, ObjectId]
def getAll(): List[T] = dao.find(ref = MongoDBObject()).toList
Run Code Online (Sandbox Code Playgroud)
我想知道的是:
1°/ ModelCompanion
特征提供了一种def findAll(): SalatMongoCursor[ObjectType] = dao.find(MongoDBObject.empty)
方法.您必须为数据库的每个集合执行专门请求.
如果迭代返回的对象,最好SalatMongoCursor[T]
通过dao.find
而不是进行两次迭代来迭代返回(一次使用toList
from Iterator
trait然后另一次使用你的List[T]
).
2°/ Salat将_id键与您的班级ID字段进行映射.如果您使用id: ObjectId
字段定义类.该字段使用mongo _id键进行映射.您可以使用Salat文档中@Key
指出的注释更改此行为