ReactiveMongo で _id フィールドを指定して新しいドキュメントを挿入しようとしています。しかし、すべての挿入は Mongo のデフォルトの増分 objectId で実行されます。挿入時に _id を指定する方法はありますか?
これが私のコードです。
case class MongoId($oid: String)
object MongoId {
implicit val mongoIdFormat = Json.format[MongoId]
}
case class Person(_id: MongoId, name: String)
object Person {
implicit val PersonFormat = Json.format[Person]
}
val collection = reactiveMongoApi.database.map(_.collection[JSONCollection]("people"))
def save(person: Person) = {
collection.flatMap(d => d.insert(person)).map(wr => wr.hasErrors match {
case true => None
case false => Some(person)
})
}