--TEST-- MongoDB\Driver\Server::executeCommand() options (MONGO_CMD_RAW) --SKIPIF-- --FILE-- selectServer(new MongoDB\Driver\ReadPreference(MongoDB\Driver\ReadPreference::RP_PRIMARY)); (new CommandObserver)->observe( function() use ($server) { $command = new MongoDB\Driver\Command([ 'ping' => true, ]); try { $server->executeCommand( DATABASE_NAME, $command, [ 'readPreference' => new \MongoDB\Driver\ReadPreference(\MongoDB\Driver\ReadPreference::RP_SECONDARY), 'readConcern' => new \MongoDB\Driver\ReadConcern(\MongoDB\Driver\ReadConcern::LOCAL), 'writeConcern' => new \MongoDB\Driver\WriteConcern(\MongoDB\Driver\WriteConcern::MAJORITY), ] ); } catch ( Exception $e ) { // Ignore exception that ping doesn't support writeConcern } }, function(stdClass $command) { echo "Read Preference: ", $command->{'$readPreference'}->mode, "\n"; echo "Read Concern: ", $command->readConcern->level, "\n"; echo "Write Concern: ", $command->writeConcern->w, "\n"; } ); ?> ===DONE=== --EXPECTF-- Read Preference: secondary Read Concern: local Write Concern: majority ===DONE===