mongodb_test.php 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. try{
  3. $conn = new MongoDB\Driver\Manager("mongodb://localhost:27017");
  4. } catch (MongoDBDriverExceptionException $e) {
  5. echo 'Failed to connect to MongoDB, is the service intalled and running?<br /><br />';
  6. echo $e->getMessage();
  7. exit();
  8. }
  9. $states = array(
  10. array('State'=>'Alabama', 'Capital'=> 'Montgomery'),
  11. array('State'=>'Alaska', 'Capital'=> 'Juneau'),
  12. array('State'=>'Arizona', 'Capital'=> 'Phoenix'),
  13. array('State'=>'Arkansas', 'Capital'=> 'Little Rock'),
  14. array('State'=>'California', 'Capital'=> 'Sacramento'),
  15. array('State'=>'Colorado', 'Capital'=> 'Denver'),
  16. array('State'=>'Connecticut', 'Capital'=> 'Hartford'),
  17. array('State'=>'Delaware', 'Capital'=> 'Dover'),
  18. array('State'=>'Florida', 'Capital'=> 'Tallahassee'),
  19. array('State'=>'Georgia', 'Capital'=> 'Atlanta'),
  20. array('State'=>'Hawaii', 'Capital'=> 'Honolulu'),
  21. array('State'=>'Idaho', 'Capital'=> 'Boise'),
  22. array('State'=>'Illinois', 'Capital'=> 'Springfield'),
  23. array('State'=>'Indiana', 'Capital'=> 'Indianapolis'),
  24. array('State'=>'Iowa', 'Capital'=> 'Des Moines'),
  25. array('State'=>'Kansas', 'Capital'=> 'Topeka'),
  26. array('State'=>'Kentucky', 'Capital'=> 'Frankfort'),
  27. array('State'=>'Louisiana', 'Capital'=> 'Baton Rouge'),
  28. array('State'=>'Maine', 'Capital'=> 'Augusta'),
  29. array('State'=>'Maryland', 'Capital'=> 'Annapolis'),
  30. array('State'=>'Massachusetts', 'Capital'=> 'Boston'),
  31. array('State'=>'Michigan', 'Capital'=> 'Lansing'),
  32. array('State'=>'Minnesota', 'Capital'=> 'Saint Paul'),
  33. array('State'=>'Mississippi', 'Capital'=> 'Jackson'),
  34. array('State'=>'Missouri', 'Capital'=> 'Jefferson City'),
  35. array('State'=>'Montana', 'Capital'=> 'Helena'),
  36. array('State'=>'Nebraska', 'Capital'=> 'Lincoln'),
  37. array('State'=>'Nevada', 'Capital'=> 'Carson City'),
  38. array('State'=>'New Hampshire', 'Capital'=> 'Concord'),
  39. array('State'=>'New Jersey', 'Capital'=> 'Trenton'),
  40. array('State'=>'New Mexico', 'Capital'=> 'Santa Fe'),
  41. array('State'=>'New York', 'Capital'=> 'Albany'),
  42. array('State'=>'North Carolina', 'Capital'=> 'Raleigh'),
  43. array('State'=>'North Dakota', 'Capital'=> 'Bismarck'),
  44. array('State'=>'Ohio', 'Capital'=> 'Columbus'),
  45. array('State'=>'Oklahoma', 'Capital'=> 'Oklahoma City'),
  46. array('State'=>'Oregon', 'Capital'=> 'Salem'),
  47. array('State'=>'Pennsylvania', 'Capital'=> 'Harrisburg'),
  48. array('State'=>'Rhode Island', 'Capital'=> 'Providence'),
  49. array('State'=>'South Carolina', 'Capital'=> 'Columbia'),
  50. array('State'=>'South Dakota', 'Capital'=> 'Pierre'),
  51. array('State'=>'Tennessee', 'Capital'=> 'Nashville'),
  52. array('State'=>'Texas', 'Capital'=> 'Austin'),
  53. array('State'=>'Utah', 'Capital'=> 'Salt Lake City'),
  54. array('State'=>'Vermont', 'Capital'=> 'Montpelier'),
  55. array('State'=>'Virginia', 'Capital'=> 'Richmond'),
  56. array('State'=>'Washington', 'Capital'=> 'Olympia'),
  57. array('State'=>'West Virginia', 'Capital'=> 'Charleston'),
  58. array('State'=>'Wisconsin', 'Capital'=> 'Madison'),
  59. array('State'=>'Wyoming', 'Capital'=> 'Cheyenne')
  60. );
  61. $cmd = new MongoDB\Driver\Command(['listDatabases' => 1]);
  62. try {
  63. $result = $conn->executeCommand('admin', $cmd);
  64. $dbArray = $result->toArray()[0];
  65. } catch(MongoDB\Driver\Exception $e) {
  66. echo $e->getMessage().'<br />';
  67. exit;
  68. }
  69. if(!array_search('phpDemo', array_column($dbArray->databases, 'name'))){
  70. echo 'phpDemo database doesn\'t exist, creating it<br />';
  71. foreach($states AS $state){
  72. $row = new MongoDB\Driver\BulkWrite();
  73. $row->insert($state);
  74. $conn->executeBulkWrite('phpDemo.state', $row);
  75. echo '&emsp;Added '.$state['State'].'<br />';
  76. }
  77. }
  78. $query = new MongoDB\Driver\Query([],[]);
  79. $result = $conn->executeQuery('phpDemo.state', $query);
  80. if($result){
  81. echo '<h3>Reading data from MongoDB</h3>'.
  82. '<table width="500" align="center">'.
  83. '<thead>'.
  84. '<tr><th>_id</th><th>State</th><th>Capital</th></tr>'.
  85. '</thead>'.
  86. '<tbody>';
  87. foreach ($result as $rs){
  88. echo '<tr><td>'.$rs->{'_id'}.'</td><td>'.$rs->State.'</td><td>'.$rs->Capital.'</td></tr>';
  89. }
  90. echo '</tbody>'.
  91. '</table>';
  92. unset($query, $result);
  93. $query = new MongoDB\Driver\Query(['State'=> 'Massachusetts'],[]);
  94. $result = $conn->executeQuery('phpDemo.state', $query);
  95. if($result){
  96. $rs = $result->toArray()[0];
  97. echo '<h3>Reading specific state from MongoDB</h3>'.
  98. 'The capital of '.$rs->State.' is '.$rs->Capital.'<br /><br />_id: '.$rs->{'_id'};
  99. }
  100. }
  101. ?>