Обеспечение индексов с 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))
}