Suche…


Syntax

  1. finden()

Alles dazwischen MongoDB und Php

Bedarf

  • MongoDB-Server, der normalerweise auf dem Port 27017 ausgeführt wird. ( mongod an der Eingabeaufforderung mongod ein, um den mongodb-Server auszuführen.)

  • PHP als cgi oder fpm mit installierter MongoDB-Erweiterung installiert (MongoDB-Erweiterung wird nicht mit dem Standard-PHP mitgeliefert)

  • Composer-Bibliothek (mongodb / mongodb). (In der Projektwurzel muss php composer.phar require "mongodb/mongodb=^1.0.0" , um die MongoDB-Bibliothek zu installieren.)

Wenn alles in Ordnung ist, können Sie weitermachen.

Überprüfen Sie die Installation von PHP

Wenn Sie nicht sicher sind, überprüfen Sie die Installation von Php, indem Sie an der Eingabeaufforderung php -v ausführen

PHP 7.0.6 (cli) (built: Apr 28 2016 14:12:14) ( ZTS ) Copyright (c) 1997-2016 The PHP Group Zend Engine v3.0.0, Copyright (c) 1998-2016 Zend Technologies

Überprüfen Sie die Installation von MongoDB

Überprüfen Sie die MongoDB-Installation, indem Sie mongo --version MongoDB shell version: 3.2.6

Überprüfen Sie die Installation von Composer

Überprüfen Sie die Installation von Composer, indem Sie php composer.phar --version Composer version 1.2-dev (3d09c17b489cd29a0c0b3b11e731987e7097797d) 2016-08-30 16:12:39 php composer.phar --version gibt die Composer version 1.2-dev (3d09c17b489cd29a0c0b3b11e731987e7097797d) 2016-08-30 16:12:39 `


Verbindung zu MongoDB von PHP

<?php

  //This path should point to Composer's autoloader from where your MongoDB library will be loaded
  require 'vendor/autoload.php';


 // when using custom username password
  try {
        $mongo = new MongoDB\Client('mongodb://username:password@localhost:27017');
        print_r($mongo->listDatabases());
  } catch (Exception $e) {
        echo $e->getMessage();
  }


 // when using default settings
  try {
        $mongo = new MongoDB\Client('mongodb://localhost:27017');
        print_r($mongo->listDatabases());
  } catch (Exception $e) {
        echo $e->getMessage();
  }

Der obige Code stellt eine Verbindung mit der MongoDB-Composer-Bibliothek ( mongodb/mongodb ) her, die als vendor/autoload.php mongodb/mongodb enthalten ist, um eine Verbindung mit dem MongoDB-Server 27017 , der auf port : 27017 . Wenn alles in Ordnung ist, wird eine Verbindung hergestellt und ein Array aufgelistet. Wenn eine Ausnahme beim Verbinden mit dem MongoDB-Server auftritt, wird die Nachricht gedruckt.


CREATE (Einfügen) in MongoDB

<?php

 //MongoDB uses collection rather than Tables as in case on SQL.
 //Use $mongo instance to select the database and collection
 //NOTE: if database(here demo) and collection(here beers) are not found in MongoDB both will be created automatically by MongoDB.
  $collection = $mongo->demo->beers;

 //Using $collection we can insert one document into MongoDB
 //document is similar to row in SQL.
  $result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

 //Every inserted document will have a unique id.
  echo "Inserted with Object ID '{$result->getInsertedId()}'";
?>

In diesem Beispiel verwenden wir die $ mongo-Instanz, die zuvor im Abschnitt Connecting to MongoDB from php . MongoDB verwendet das Datenformat JSON-Typ. In php verwenden wir Daten, um Daten in MongoDB einzufügen. Diese Konvertierung von Array in Json und umgekehrt erfolgt durch die Mongo-Bibliothek. Jedes Dokument in MongoDB hat eine eindeutige ID mit dem Namen _id. Während des Einfügens können wir dies mithilfe von $result->getInsertedId() .


LESEN (Finden) in MongoDB

<?php
 //use find() method to query for records, where parameter will be array containing key value pair we need to find.
 $result = $collection->find( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );

 // all the data(result) returned as array
 // use for each  to filter the required keys
 foreach ($result as $entry) {
   echo $entry['_id'], ': ', $entry['name'], "\n";
 }

?>

Drop in MongoDB

<?php

 $result = $collection->drop( [ 'name' => 'Hinterland'] );

 //return 1 if the drop was sucessfull and 0 for failure
 print_r($result->ok);

?>

Es gibt viele Methoden, die mit $collection siehe Offizielle Dokumentation von MongoDB



Modified text is an extract of the original Stack Overflow Documentation
Lizenziert unter CC BY-SA 3.0
Nicht angeschlossen an Stack Overflow