docs: def bulk_write(self, requests, ordered=True,
                     bypass_document_validation=False):
          """Send a batch of write operations to the server.
  
          Requests are passed as a list of write operation instances (
          :class:`~pymongo.operations.InsertOne`,
          :class:`~pymongo.operations.UpdateOne`,
          :class:`~pymongo.operations.UpdateMany`,
          :class:`~pymongo.operations.ReplaceOne`,
          :class:`~pymongo.operations.DeleteOne`, or
          :class:`~pymongo.operations.DeleteMany`).
  
            >>> for doc in db.test.find({}):
            ...     print(doc)
            ...
            {u'x': 1, u'_id': ObjectId('54f62e60fba5226811f634ef')}
            {u'x': 1, u'_id': ObjectId('54f62e60fba5226811f634f0')}
            >>> # DeleteMany, UpdateOne, and UpdateMany are also available.
            ...
            >>> from pymongo import InsertOne, DeleteOne, ReplaceOne
            >>> requests = [InsertOne({'y': 1}), DeleteOne({'x': 1}),
            ...             ReplaceOne({'w': 1}, {'z': 1}, upsert=True)]
            >>> result = db.test.bulk_write(requests)
            >>> result.inserted_count
            1
            >>> result.deleted_count
            1
            >>> result.modified_count
            0
            >>> result.upserted_ids
            {2: ObjectId('54f62ee28891e756a6e1abd5')}
            >>> for doc in db.test.find({}):
            ...     print(doc)
            ...
            {u'x': 1, u'_id': ObjectId('54f62e60fba5226811f634f0')}
            {u'y': 1, u'_id': ObjectId('54f62ee2fba5226811f634f1')}
            {u'z': 1, u'_id': ObjectId('54f62ee28891e756a6e1abd5')}
  
          :Parameters:
            - `requests`: A list of write operations (see examples above).
            - `ordered` (optional): If ``True`` (the default) requests will be
              performed on the server serially, in the order provided. If an error
              occurs all remaining operations are aborted. If ``False`` requests
              will be performed on the server in arbitrary order, possibly in
              parallel, and all operations will be attempted.
            - `bypass_document_validation`: (optional) If ``True``, allows the
              write to opt-out of document level validation. Default is
              ``False``.
  
          :Returns:
            An instance of :class:`~pymongo.results.BulkWriteResult`.
  
          .. seealso:: :ref:`writes-and-ids`
  
          .. note:: `bypass_document_validation` requires server version
            **>= 3.2**
  
          .. versionchanged:: 3.2
            Added bypass_document_validation support
  
          .. versionadded:: 3.0
          """
          if not isinstance(requests, list):
              raise TypeError("requests must be a list")
  
          blk = _Bulk(self, ordered, bypass_document_validation)
          for request in requests:
              try:
                  request._add_to_bulk(blk)
              except AttributeError:
                  raise TypeError("%r is not a valid request" % (request,))
  
          bulk_api_result = blk.execute(self.write_concern.document)
          if bulk_api_result is not None:
              return BulkWriteResult(bulk_api_result, True)
          return BulkWriteResult({}, False)