我有一个PHP代码,它运行得很好,但在我为PHP(1.4.2)更新了Mongo(2.4.4)和Mongo驱动程序后,我的代码开始产生致命错误。
产生错误的线路是这个
$something = new MongoId($some);
它生成一个错误:
Fatal error: Uncaught exception 'MongoException' with message 'Invalid object ID'
当然,我可以回滚我的更新,但有什么办法可以在不回滚的情况下修复它吗?
这个错误很可能是因为您提供了错误的$some
。现在您必须将正确的MongoID传递给new MongoId()
构造函数。
所以new MongoId('51e1eefc065f908c10000411')
是可以的,但new MongoId('-6')
会产生您的错误。
我用try-catch来处理这个问题。
try {
$something = new MongoId($some);
} catch (MongoException $ex) {
$something = new MongoId();
}
所以我认为这个文档有点过时了,应该进行更改。