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