2016-08-18 5 views
1

Nach vielem Kampf konnte ich MongoDB als Dienst und WAMP installieren. Dann am Anfang bekam ich einen fatalen Fehler sagen diese nicht funktionieren würde:Arbeiten mit der neuesten PHP/MongoDB-Version

$m = new Mongo(...); 
$m = new MongoClient(...); 

In einigen vorherigen Fragen, die Menschen auf so genannte eine neue Klasse namens MongoDB/Driver/Manager. Ich stieß auch auf etwas namens MongoDB/Client.

Als Anfänger zu MongoDB stehe ich jetzt ziemlich verwirrt darüber, wie man eine DB und Sammlung benutzt/verbindet.

Ich glaube, ich verwende:

$m = new MongoDB/Driver/Manager(...); 

jedoch

$db = $m->$dbname; // Seems to cause -> Notice: Undefined Property 
$collection = $db->shows; // dito 

Also alles in alles, was ist der Unterschied zwischen MongoDB/Driver/Manager und MongoDB/Client? Und wie würde ich mit diesen neuen Klassen korrekt eine Verbindung zu einer DB oder Collection herstellen, wie im vorherigen Snippet gezeigt? Ich kann nicht viele Beispiele finden, die erklären, wie man diese neuen Klassen verwendet, oder eine aktuelle korrekte Art, die neuen Klassen für grundlegende Funktionalität zu verwenden. Danke,

+0

Mein WAMP scheint mir zu erlauben, PHP 5.6.19 (Standard) oder 7.0.4 zu verwenden. Ich habe den php-mongodb-Treiber bei Version 1.1.8 (TS) x64 für beide PHP-Versionen. –

Antwort

0

Ich denke, ich verstehe, was ich verwirre bin.

Die MongoDB/Driver/Manager-Klasse und andere sind Teil der grundlegenden Tools, die mit dem PHP MongoDB-Treiber zur Verfügung stehen. Ich schätze, es ist nicht zu empfehlen, sie zu benutzen, wenn Sie nicht wissen, was Sie tun, oder Sie wollen etwas relativ angepasstes.

Eine empfehlenswerte Alternative ist die Installation von "mongodb/mongodb-^1.x.x" mit einem PHP-Installer wie Composer, der Ihnen eine MongoDB-Bibliothek gibt. Dadurch erhalten Sie Klassen wie die Klasse MongoDB/Client.

Sobald die Bibliothek installiert wurde, können Sie wie so eine Verbindung herstellen können:

<?php 
require 'vendor/autoload.php'; 

$client = new MongoDB/Client('mongodb://localhost:27017'); 
// Add URI of MongoDB here 
$mydb = $client->mydb; // Add the new DB name or existing DB name here 
$collection = $mydb->createCollection('userCollection'); 
... 
?> 
+0

Noch nicht ganz sicher, wofür der MongoDB/Driver/ist: P Oder wenn Sie die Bibliothek brauchen, um MongoDB mit PHP zu benutzen –

Verwandte Themen