Pergunta

There is a post on composite keys using Salat, but information on ensuring indexes (from mongo-db console, db.collection.ensureIndex({someField : 1})) is lacking. Looking through Salat source, I didn't see an annotation for marking a field as needing an index, is there a way to do this?

Foi útil?

Solução

It is possible by directly accessing the MongoCollection from within the DAO object yourself (see: 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))
}
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top