I am trying to connect to mongo from drupal using client library https://github.com/mongodb/mongo-php-library/blob/master/docs/tutorial/install-php-library.txt . I downloaded the source code. Now i want to use it in .module file
myModule
directory structure inside module-
--/MongoDB (src folder of library)
--myModule.module
--myModule.info
Inside myModule.module
file -
function my_autoloader($class) {
print_r($class);
include DRUPAL_ROOT.'/sites/all/modules/myModule/MongoDB/' . $class . '.php';
}
spl_autoload_register('my_autoloader');
function myModule_init() {
//sample code to connect to mongo
$client = new MongoDB\Client("mongodb://xx.xx.xx.xx:27017");
$collection = $client->demo->beers;
$result = $collection->insertOne( [ 'name' => 'Hinterland', 'brewery' => 'BrewDog' ] );
echo "Inserted with Object ID '{$result->getInsertedId()}'";
}
I am getting error
Fatal error: Class 'MongoDB\Client' not found
What i am doing wrong . any idea ???
Note : I am able to connect when i try to use this
$m = new MongoDB\Driver\Manager("mongodb://xx.xxx.xx.xx:27017");
echo "Connection to database successfully";
but why not using client ???
Problem was print_r($class);
was giving output like MongoDB\Client\
(in name space format) ,
Then all i had to do replace \ with / using
$class = str_replace('\\', '/', $class);
and remove MongoDB from url.
Still don't know the reason why it was giving MongoDB\Client\