If you pass NULL to the __construct() method, it wont throw exceptions, nor errors, but prematurely ends the PHP processing (so it produced an 502 response over nginx), not like the legacy MongoId class.PHP - Manual: MongoDB\BSON\ObjectId::__construct
2025-10-25
(mongodb >=1.0.0)
MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
id (string)A 24-character hexadecimal string. If not provided, the extension will generate an ObjectId.
id is not a 24-character hexadecimal string.示例 #1 MongoDB\BSON\ObjectId::__construct() example
<?php
var_dump(new MongoDB\BSON\ObjectId());
var_dump(new MongoDB\BSON\ObjectId('000000000000000000000001'));
?>以上示例的输出类似于:
object(MongoDB\BSON\ObjectId)#1 (1) {
["oid"]=>
string(24) "56732d3dda14d81214634921"
}
object(MongoDB\BSON\ObjectId)#1 (1) {
["oid"]=>
string(24) "000000000000000000000001"
}
If you pass NULL to the __construct() method, it wont throw exceptions, nor errors, but prematurely ends the PHP processing (so it produced an 502 response over nginx), not like the legacy MongoId class.官方地址:https://www.php.net/manual/en/mongodb-bson-objectid.construct.php