是以程序方式唯一创建的_id


Is an _id created programatically unique?

让我们假设我这样做:

$person = array(
   "_id" => new MongoId(),
   "name" => "Fabs",
   "city" => "Rome"
);
$people->save($person);

我能确定当$person实际持久化时,_id将是唯一的吗?因为,毕竟,id是在DB之外创建的(DB不知道),而且people集合中很可能已经有了这个id,不是吗?我也知道这可能不太可能,但这可能吗?

当然,这是可能的,就像任何其他不涉及ID中央注册表的ID生成方案一样。不过,它发生的可能性很低,我可以放心地断言,除非涉及恶意,否则你永远不会看到它发生。