为什么mongoid在关联上调用new时不插入id,而在关联上调用build时插入id?
这是一个bug,或者这是它在mongoid中的工作方式?
发布于 2011-04-30 07:41:53
这是与其他ORM相同的行为,例如SQLite ... #new不会创建ID,因为新对象还没有保存/持久化!
每当发生保存时,下一个可用ID将用于新保存的对象...这意味着如果您有两个新对象,则在保存它们之前不能为它们分配ID,因为ID取决于它们的保存顺序。
在SQL中,MongoDB in不会作为in递增,但它们包含一个时间戳作为键的一部分。因此,再次依赖于保存/持久化对象的顺序
另外: ID只有在引用已保存的对象时才有意义--您可以使用#new创建对象并最终不保存它们--将ID分配给未保存的对象是没有意义的。
https://stackoverflow.com/questions/3508657
复制相似问题