MongoClient问题 - 并没有给出明确的指示

时间:2014-09-24 05:07:43

标签: php mongodb connection

我看到的问题是以下

syscore::db(): The Mongo class is deprecated, please use the MongoClient class in /Users/russellharrower/www/bootstrap.localhost/system/core.php on line 11

问题在于我能够以旧的方式让它工作,但它仍然说这是错误的。正如其他人有这个问题。

这是我如何调用连接。

class syscore{
static public $_db;
public static function db() 
{
 if (!static::$_db) {
    static::$_db = new MongoClient("mongodb://russell.harrower:25s4e8r14gGSWS362gyuAQDR!!@localhost:27017/russellharrower");
 }
 $siteDB = SITEDB;
 //return static::$_db->$siteDB;
}
}

1 个答案:

答案 0 :(得分:0)

您所看到的例外情况不会从您粘贴的代码中发出,因为您明确使用MongoClient代替已弃用的Mongo类。以下独立脚本由您提供的非功能性片段的一些附加组件成功执行,并且无异常地转储MongoDB对象:

<?php

define('SITEDB', 'foo');

class syscore {
  static public $_db;
  public static function db() {
    if (!static::$_db) {
      static::$_db = new MongoClient();
    }
    $siteDB = SITEDB;
    return static::$_db->$siteDB;
  }
}

var_dump(syscore::db());

它应该产生以下输出:

object(MongoDB)#2 (2) {
  ["w"]=>
  int(1)
  ["wtimeout"]=>
  int(10000)
}