gpt4 book ai didi

build - mongoid 新建与构建

转载 作者:行者123 更新时间:2023-12-01 10:08:22 25 4
gpt4 key购买 nike

为什么 mongoid 在关联上调用 new 时不插入 id,而在关联上调用 build 时插入 id?

这是一个错误还是这就是它在 mongoid 中的工作方式?

最佳答案

这与其他 ORM 的行为相同,例如SQLite ... #new 不创建 ID,因为新对象尚未保存/持久化!

每当发生保存时,下一个可用 ID 用于新保存的对象...这意味着如果您有几个新对象,则在保存它们之前无法为它们分配 ID,因为 ID 取决于它们保存的顺序..

MongoDB ID 不会作为 SQL DB 中的 ID 递增,但它们包含一个时间戳作为键的一部分。因此再次依赖于保存/持久化对象的顺序

此外:ID 仅作为对已保存对象的引用才有意义——您可以使用#new 创建对象并最终不保存它们——将 ID 分配给未保存的对象是没有意义的。

关于build - mongoid 新建与构建,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3508657/

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