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
2024-12-21
(mongodb >=1.0.0)
MongoDB\BSON\ObjectId::__construct — Construct a new ObjectId
$id
= ?)id
(string)A 24-character hexadecimal string. If not provided, the driver 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