reactivemongo.api.bson.Macros.Annotations
Indicates that if a property is represented as a document itself, the document fields are directly included in top document, rather than nesting it.
import reactivemongo.api.bson.Macros.Annotations.Flatten case class Range(start: Int, end: Int) case class LabelledRange( name: String, @Flatten range: Range) val flattened = reactivemongo.api.bson.BSONDocument( "name" -> "foo", "start" -> 0, "end" -> 1) // Rather than: // BSONDocument("name" -> "foo", "range" -> BSONDocument( // "start" -> 0, "end" -> 1))
Indicates that if a property is represented as a document itself, the document fields are directly included in top document, rather than nesting it.