3

我有一个运行良好的 PHP 代码,但是在我更新 Mongo (2.4.4) 和 php (1.4.2) 的 mongo 驱动程序后,我的代码开始产生致命错误。

产生错误的行是这一行

$something = new MongoId($some);

它会产生一个错误:

Fatal error: Uncaught exception 'MongoException' with message 'Invalid object ID'

当然,我可以回滚我的更新,但是有什么想法可以在不回滚的情况下修复它吗?

4

1 回答 1

4

这个错误很可能是因为$some您提供的错误。现在您必须将正确的 MongoID 传递给new MongoId()构造函数。

所以new MongoId('51e1eefc065f908c10000411')会好的,但new MongoId('-6')会产生你的错误。

我正在使用 try catch 来处理这个问题。

try {
    $something = new MongoId($some);
} catch (MongoException $ex) {
    $something = new MongoId();
}

所以我认为这个文档有点过时了,应该改变。

于 2013-08-13T01:10:55.363 回答