MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Pierwsze kroki z PHP i MongoDB

ScaleGrid to rozwiązanie do zarządzania MongoDB dla chmur publicznych. MongoDB (od „humongous”) to skalowalna, wysokowydajna baza danych NoSQL typu open source firmy 10gen.

ScaleGrid pomoże Ci udostępnić, skonfigurować wysoką dostępność i odzyskiwanie po awarii, wyrejestrować, monitorować, uaktualniać, klonować, tworzyć kopie zapasowe i odzyskiwać wdrożenia MongoDB na AWS, Azure i DigitalOcean. Jedną z zalet ScaleGrid jest to, że zapewnia pełny dostęp SSH do Twoich instancji. Umożliwia to uruchomienie serwera PHP na tej samej maszynie, co serwer MongoDB, co jest niezwykle użyteczną korzyścią w scenariuszach deweloperskich i testowych. W tym samouczku pokażemy w pięciu prostych krokach, jak skonfigurować serwer PHP i serwer MongoDB na tym samym komputerze.

  1. Utwórz instancję MongoDB na ScaleGrid

    Postępuj zgodnie z podanymi tu wskazówkami dotyczącymi tworzenia puli maszyn, tworzenia instancji MongoDB, pobierania danych logowania SSH i SSH do instancji lub zapoznaj się z naszą dokumentacją dotyczącą tworzenia klastra MongoDB.

  2. Połącz się z MongoDB i wypełnij swoje dane

    SSH do instancji MongoDB. Połącz się z lokalną instancją MongoDB za pomocą wbudowanego klienta mongo i uruchom kilka zapytań:

    
    /usr/bin/mongo
    MongoDB shell version: 2.0.7
    connecting to: test
    >show dbs
    config  (empty)
    local   (empty)
    >db.version()
    2.0.7
    >db.stats()
    {
    "db" : "test",
    "collections" : 0,
    "objects" : 0,
    "avgObjSize" : 0,
    "dataSize" : 0,
    "storageSize" : 0,
    "numExtents" : 0,
    "indexes" : 0,
    "indexSize" : 0,
    "fileSize" : 0,
    "nsSizeMB" : 0,
    "ok" : 1
    }
    

    Stwórzmy fikcyjną bazę danych i wstawmy niektóre dane do kolekcji. „Kolekcje” to odpowiedniki tabel relacyjnych. Kolekcja może zawierać wiele „dokumentów”, co jest odpowiednikiem wierszy w świecie relacyjnym.

    >use testdb
    switched to db testdb
    >db.testcollection.insert({"name":"blah", "value":"humbug"});
    >db.testcollection.insert({"name":"blah1", "value":"humbug1"});
    >db.find();
    { "_id" : ObjectId("50db292013d7f5d141a9cbfb"), "name" : "blah", "value" : "humbug" }
    { "_id" : ObjectId("50db292913d7f5d141a9cbfc"), "name" : "blah1", "value" : "humbug1" }
    
  3. Skonfiguruj swój serwer PHP

    Jeśli masz już serwer PHP działający na komputerze innym niż serwer MongoDB, możesz pominąć ten krok i przejść do kroku 4. Jeśli nie masz serwera PHP , możesz zainstalować serwer PHP na maszynie MongoDB. Jest to jedna z zalet posiadania pełnego dostępu SSH do maszyn MongoDB:

    [root@ip-10-29-173-18 ~]#yum install httpd php
    [root@ip-10-29-173-18 ~]#chkconfig httpd on
    [root@ip-10-29-173-18 ~]#service httpd start
    
  4. Zainstaluj rozszerzenie Mongo PHP

    Obsługę MongoDB w PHP zapewnia rozszerzenie Mongo PHP. Możesz go zainstalować za pomocą instalatora PECL:

    [root@ip-10-29-173-18 ~]#yum install php-pear
    [root@ip-10-29-173-18 ~]#yum install php-devel
    [root@ip-10-29-173-18 ~]#yum install make
    [root@ip-10-29-173-18 ~]#pecl install mongo
    [root@ip-10-29-173-18 ~]#echo "extension=mongo.so" >> /etc/php.ini
    [root@ip-10-29-173-18 ~]#/etc/init.d/httpd restart
    
  5. Uruchom kod PHP

    Pobierz ciąg połączenia MongoDB z konsoli ScaleGrid na karcie szczegółów u dołu ekranu. Jeśli używasz kodu PHP na tym samym polu, możesz użyć 127.0.0.1.

    Napiszmy trochę kodu PHP do wysyłania zapytań do dokumentów w właśnie utworzonej kolekcji. Utwórz plik o nazwie test.php i umieść w nim poniższy kod. Uruchom kod za pomocą „php test.php”.

    <?php
    try {
      // open connection to MongoDB server
      $conn = new Mongo('<connection string>');
    
      // access database
      $db = $conn->testdb;
    
      // access collection
      $collection = $db->testcollection;
    
      // execute query
      // retrieve all documents
      $cursor = $collection->find();
    
      // iterate through the result set
      // print each document
      echo $cursor->count() . ' document(s) found.
    ';
      foreach ($cursor as $obj) {
        echo 'Name: ' . $obj['name'] . '
    ';
        echo 'Value: ' . $obj['value'] . '
    ';
        echo '
    ';
      }
    
      // disconnect from server
      $conn->close();
    } catch (MongoConnectionException $e) {
      die('Error connecting to MongoDB server');
    } catch (MongoException $e) {
      die('Error: ' . $e->getMessage());
    }
    
    ?>
    

Więcej szczegółowych instrukcji i przykładów można znaleźć w dokumentacji 10gen dotyczącej używania PHP z Mongo.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Tworzenie relacji klucza obcego w Mongoose

  2. Jak korzystać z mangusty Obietnica - mongo

  3. MongoDB $ne Operator potoku agregacji

  4. MongoDB Specyfikatory formatu $dateFromString

  5. Zgodność sterownika mongodb 3.x z systemem Android