title: How to get a result from FindAndModifyResult?
body: <p>I'm using Play Framework 2.5 and play2-reactivemongo v0.12.4.
  Trying to create auto-increment counter using findAndUpdate.
  (I tried using findAndModify. But, I'd no idea how to create one of parameter "commands.JSONFindAndModifyCommand.Modify")</p>
  
  <p>And now I've no idea how to get a result from FindAndModifyResult.
  I also tried "result[Counter]". But, result seems that doesn't exist..</p>
  
  <p>BaseDAO.scala</p>
  
  <pre><code>class BaseDAO[T] {
    ...
    val collectionName: String
    lazy val collection: Future[JSONCollection] = 
      reactiveMongoApi.database.map(_.collection(collectionName))
  
    ...
  }
  </code></pre>
  
  <p>CounterDAO.scala</p>
  
  <pre><code>    import play.modules.reactivemongo.json.ImplicitBSONHandlers._
      import play.modules.reactivemongo.ReactiveMongoApi
      import play.api.libs.json._
      import play.api.libs.concurrent.Execution.Implicits._
  
      trait CounterDAO extends BaseDAO[Counter]
  
      class CounterDAOImpl @Inject() (val reactiveMongoApi: ReactiveMongoApi)
      extends CounterDAO {
        val collectionName = "counter"
  
        def incrementCounter(query: JsObject = Json.obj())(implicit writer: OWrites[Counter]): Future[Option[Long]] = {
          // !!        
          collection.map(_.findAndUpdate(query, DBQueryBuilder.inc("seq", 1), fetchNewObject = true)).map(_.value.get)
        }
      }
  </code></pre>
  
  <p>DBQueryBuilder.scala</p>
  
  <pre><code>object DBQueryBuilder {
    def inc(field: String, amount: Int): JsObject = Json.obj("$inc" -&gt; Json.obj(field -&gt; amount))
  }
  </code></pre>
  
  <p>Counter.scala</p>
  
  <pre><code>case class Counter(
    var _id: Option[BSONObjectID] = None,
    seq: Long
  )
  
  [error] shared/src/main/scala/com/xxx/models/daos/CounterDAO.scala:29: type mismatch;
  [error]  found   : scala.util.Try[x$3.BatchCommands.FindAndModifyCommand.FindAndModifyResult]
  [error]  required: Option[Long]
  [error]     collection.map(_.findAndUpdate(query, DBQueryBuilder.inc("seq", 1), fetchNewObject = true)).map(_.value.get)
  </code></pre>