--TEST-- MongoDB\Driver\Manager::executeCommand() takes a read preference in options array --SKIPIF-- --FILE-- 1]); $cursor = $manager->executeCommand(DATABASE_NAME, $command, ['readPreference' => $primary]); echo "is_primary: ", $cursor->getServer()->isPrimary() ? 'true' : 'false', "\n"; echo "is_secondary: ", $cursor->getServer()->isSecondary() ? 'true' : 'false', "\n\n"; echo "Testing secondary:\n"; $command = new MongoDB\Driver\Command(['ping' => 1]); $cursor = $manager->executeCommand(DATABASE_NAME, $command, ['readPreference' => $secondary]); echo "is_primary: ", $cursor->getServer()->isPrimary() ? 'true' : 'false', "\n"; echo "is_secondary: ", $cursor->getServer()->isSecondary() ? 'true' : 'false', "\n\n"; ?> ===DONE=== --EXPECTF-- Testing primary: is_primary: true is_secondary: false Testing secondary: is_primary: false is_secondary: true ===DONE===