MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Erste Schritte mit PHP und MongoDB

ScaleGrid ist eine MongoDB-Verwaltungslösung für öffentliche Clouds. MongoDB (von „humongous“) ist eine skalierbare, leistungsstarke Open-Source-NoSQL-Datenbank von 10gen.

ScaleGrid hilft Ihnen bei der Bereitstellung, Konfiguration von Hochverfügbarkeit und Notfallwiederherstellung, Aufhebung der Bereitstellung, Überwachung, Upgrade, Klonen, Sicherung und Wiederherstellung Ihrer MongoDB-Bereitstellungen auf AWS, Azure und DigitalOcean. Einer der Vorteile von ScaleGrid besteht darin, dass Sie vollen SSH-Zugriff auf Ihre Instanzen erhalten. Dadurch können Sie Ihren PHP-Server auf demselben Computer wie Ihren MongoDB-Server ausführen, ein äußerst nützlicher Vorteil für Entwicklungs- und Testszenarien. In diesem Tutorial zeigen wir Ihnen in fünf einfachen Schritten, wie Sie Ihren PHP-Server und Ihren MongoDB-Server auf demselben Rechner einrichten.

  1. Erstellen Sie Ihre MongoDB-Instanz auf ScaleGrid

    Folgen Sie den Anleitungen zu den ersten Schritten hier, um Ihren Maschinenpool zu erstellen, MongoDB-Instanzen zu erstellen, SSH-Anmeldedaten und SSH in die Instanz abzurufen, oder sehen Sie sich unsere Dokumentation zum Erstellen eines MongoDB-Clusters an.

  2. Verbinden Sie sich mit MongoDB und füllen Sie Ihre Daten aus

    SSH in Ihre MongoDB-Instanz. Stellen Sie mithilfe des integrierten Mongo-Clients eine Verbindung zu Ihrer lokalen MongoDB-Instanz her und lösen Sie einige Abfragen aus:

    
    /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
    }
    

    Lassen Sie uns eine Dummy-Datenbank erstellen und einige Daten in eine Sammlung einfügen. „Sammlungen“ sind das Äquivalent zu relationalen Tabellen. Eine Sammlung kann viele „Dokumente“ enthalten, was Zeilen in der relationalen Welt entspricht.

    >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. Richten Sie Ihren PHP-Server ein

    Wenn Sie bereits einen PHP-Server auf einem anderen Computer als Ihrem MongoDB-Server ausführen, können Sie diesen Schritt überspringen und mit Schritt 4 fortfahren. Wenn Sie keinen PHP-Server haben , können Sie einen PHP-Server auf dem MongoDB-Computer installieren. Dies ist einer der Vorteile des vollen SSH-Zugriffs auf Ihre MongoDB-Maschinen:

    [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. Installieren Sie die Mongo-PHP-Erweiterung

    MongoDB-Unterstützung in PHP erfolgt über die Mongo-PHP-Erweiterung. Sie können es mit dem PECL-Installationsprogramm installieren:

    [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. PHP-Code ausführen

    Rufen Sie die MongoDB-Verbindungszeichenfolge von der ScaleGrid-Konsole auf der Registerkarte „Details“ unten auf dem Bildschirm ab. Wenn Sie Ihren PHP-Code auf derselben Box ausführen, können Sie 127.0.0.1.

    verwenden

    Lassen Sie uns etwas PHP-Code schreiben, um die Dokumente in der gerade erstellten Sammlung abzufragen. Erstellen Sie eine Datei namens test.php und fügen Sie den folgenden Code in die Datei ein. Führen Sie den Code mit „php test.php“ aus.

    <?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());
    }
    
    ?>
    

Ausführlichere Anweisungen und Beispiele finden Sie in der 10gen-Dokumentation zur Verwendung von PHP mit Mongo.