使用Salat DAO确保使用MongoDB的索引

时间:2014-01-12 08:13:27

标签: indexing salat mongodb-scala

使用Salat的复合键上有a post,但缺少有关确保索引的信息(来自mongo-db console,db.collection.ensureIndex({someField : 1}))。通过Salat源查看,我没有看到将字段标记为需要索引的注释,有没有办法做到这一点?

1 个答案:

答案 0 :(得分:2)

可以直接从DAO对象中访问MongoCollection(参见:this forum post)。 E.g:

object AlphaDAO extends SalatDAO[Alpha, Int](collection = MongoConnection()("test_db")("test_coll")) {   
  val beta = new ChildCollection[Beta, Int](
    collection = MongoConnection()("test_db")("test_col1_subcol1"),
    parentIdField = "alphaId") {}

  import com.mongodb.casbah.Imports._
  collection.ensureIndex(DBObject("some.field" -> 1, "anotherField" -> 1))

  beta.collection.ensureIndex(DBObject("some.field" -> 1, "anotherField" -> 1))
}