gpt4 book ai didi

mongodb - 在应用程序级别生成 mongoId 或将其留给 mongo 之间有区别吗?

转载 作者:可可西里 更新时间:2023-11-01 10:44:19 25 4
gpt4 key购买 nike

在我以前的所有应用程序中,我都在应用程序端生成 ObjectID,并将其提供给 Mongo 以进行插入。另一方面,保留它并让 Mongo 自己生成它也没有错。现在我想知道:有什么区别吗。

我知道有时你需要稍后使用这个 ObjectID,如果你自己生成它你不应该担心它(我也知道如果你只是要求 mongo 插入它并不一定保证它会插入它)

最佳答案

的确,大多数驱动程序已经为应用程序端的 _id 字段生成了 ObjectId

ObjectId documentation说明如果您不在插入命令中指定 _id 字段:

the mongod adds the _id field and generates a unique ObjectId to assign as its value

要回答您关于是否存在任何差异的问题,实际上我会说不大。就 ObjectId 内部而言,您将拥有不同的机器 ID 和进程 ID,具体取决于它的生成位置……但您几乎不会担心这一点。

在应用程序开发方面,如果您在插入之前生成 ObjectId,则您可以在插入完成之前访问该值。因此,如果您同时插入引用的文档,您可以更轻松地做到这一点。

不过总而言之,我会说,让 mongod 生成您的 ObjectId 与生成它确实没有太大区别自己。

关于mongodb - 在应用程序级别生成 mongoId 或将其留给 mongo 之间有区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17126842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com