could not find implicit value for parameter writer: c.pack.Writer[reactivemongo.api.commands.ResolvedCollectionCommand[c.BatchCommands.UpdateCommand.Update]]
import c.BatchCommands.UpdateCommand._
/* ... generate the updates list ... */
c.runCommand(Update(ordered = false)(updates.head, updates.tail: _*))
So if the update operation doesn't match your use case (you should first test the update command in MongoShell to understand, specially with multi and upsert).
On the other side if the MongoDB update command is what you need, you should not directly use the BatchCommands (which is for internal use), but that previously mentioned .update operation.