Mongoid嵌入式文件属于嵌入式文档

时间:2014-06-14 09:24:20

标签: ruby-on-rails ruby-on-rails-3 mongodb ruby-on-rails-4 mongoid

我的模特很少:

class Product
...
embeds_many :items
...
end

class Item
...
embedded_in :product
...
end

class Cart
...
embeds_many :line_items
...
end

class LineItem
...
embedded_in :cart
belongs_to :product
belongs_to :item
...
end

line_item.item属于Product

中嵌入的Item

为什么LineItem中的项始终为nil?

1 个答案:

答案 0 :(得分:6)

这是错误的结构......嵌入的文档不能在父文档之外的任何其他模型中引用。

正如文件所述

  

嵌入式1-n:

     

孩子嵌入父文档中的一对多关系。

     

参考1-n:

     

一对多关系,其中儿童存储在来自父文档的单独集合

所以嵌入式文档(作为某个文档中的属性存储)无法作为单独的集合引用(如引用的1-n 关系)..

你可以考虑改变模型定义以适应你的目的...... 看一下讨论同样问题的question