Обеспечение индексов с MongoDB с использованием Salat DAOs

Есть сообщение о составных ключах, использующих Salat, но информация об обеспечении индексов (из консоли mongo-db, db.collection.ensureIndex({someField : 1})) отсутствует. Просматривая источник Salat, я не увидел аннотацию для пометки поля как нужного индекса, есть ли способ сделать это?

1 ответ

Решение

Это возможно путем прямого доступа к MongoCollection изнутри объекта DAO самостоятельно (см.: это сообщение на форуме). Например:

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))
}
Другие вопросы по тегам