douxian1770 2016-10-18 09:00
浏览 33
已采纳

没有作曲家的drupal 7模块中的Mongodb客户端库

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 ???

  • 写回答

1条回答 默认 最新

  • douwei2713 2016-10-19 07:01
    关注

    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\

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改
  • ¥20 wireshark抓不到vlan
  • ¥20 关于#stm32#的问题:需要指导自动酸碱滴定仪的原理图程序代码及仿真
  • ¥20 设计一款异域新娘的视频相亲软件需要哪些技术支持