src/League/Monga/Collection.php
public function save(&$document, $options = [])
    {
        $maxRetries = $this->maxRetries;
        $tries = 0;

        do {
            try {
                $result = $this->collection->save($document, $options);
                break;
            } catch (MongoCursorException $e) {
                // Retry "save" in case of rediscovery latency issues
                // in replica set failover. Error codes 10107, 13435, and 10058
                // are MongoCursorException's "not master" errors.
                if (in_array($e->getCode(), [10107, 13435, 10058])) {
                    if ($tries === $maxRetries) {
                        throw $e;
                    } else {
                        $tries++;
                        continue;
                    }
                } else {
                    throw $e;
                }
            }
        } while ($tries <= $maxRetries);

        return $result === true || (bool) $result['ok'];
    }
public function save(&$document, $options = [])
    {
        $maxRetries = $this->maxRetries;
        $tries = 0;

        do {
            try {
                $result = $this->collection->save($document, $options);
                break;
            } catch (MongoCursorException $e) {
                // Retry "save" in case of rediscovery latency issues
                // in replica set failover. Error codes 10107, 13435, and 10058
                // are MongoCursorException's "not master" errors.
                if (in_array($e->getCode(), [10107, 13435, 10058])) {
                    if ($tries === $maxRetries) {
                        throw $e;
                    } else {
                        $tries++;
                        continue;
                    }
                } else {
                    throw $e;
                }
            }
        } while ($tries <= $maxRetries);

        return $result === true || (bool) $result['ok'];
    }
public function save ( & $ document , $ options = [ ] ) { $ maxRetries = $ this -> maxRetries ; $ tries = 0 ; do { try { $ result = $ this -> collection -> save ( $ document , $ options ) ; break ; } catch ( MongoCursorException $ e ) { // Retry "save" in case of rediscovery latency issues // in replica set failover. Error codes 10107, 13435, and 10058 // are MongoCursorException's "not master" errors. if ( in_array ( $ e -> getCode ( ) , [ 10107 , 13435 , 10058 ] ) ) { if ( $ tries === $ maxRetries ) { throw $ e ; } else { $ tries ++ ; continue ; } } else { throw $ e ; } } } while ( $ tries <= $ maxRetries ) ; return $ result === true || ( bool ) $ result [ 'ok' ] ; }
Saves a documents.

@param array $document document
@param array $options  save options

@return boolean success boolean
Saves a documents .