现在,我正在使用 mongodb c 驱动程序将文档插入到 mongodb。每次,我都使用以下代码生成一个_id。
bson_oid_init (&oid, NULL);
BSON_APPEND_OID (doc, "_id", &oid);
如果多个应用同时运行上述代码,bson_oid_init(&oid, NULL)会不会有一定的概率生成相同的两个_id?
有一些概率 > 0,但非常非常接近于 0。有关 ObjectId 结构的完整详细信息,请参阅ObjectId 文档,但基本上您需要两个具有相同进程 ID 的不同进程才能在同一秒内创建文档MAC 地址相同的机器,最后让它们获得相同的随机种子 3 位计数器值。