0

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)
  })
}
4

1 に答える 1