最近我在研究Mongoid,我搞不懂是不是embed_one中的Mongoid和has_one一样?如果没有,有什么区别和例子?
发布于 2013-08-11 13:28:32
首先,读关于关系的蒙古文献!
蒙古嵌入式1-1
在父文档中嵌入子文档的一对一关系是使用Mongoid的embeds_one和embedded_in宏定义的。
参考文献1-1
在父文档中引用子文档的一对一关系是使用Mongoid的has_one和belongs_to宏定义的。
来自mongodb文档:
embeds_one与has_one的利益
大数据问题:
在文档中嵌入相关数据,可能会导致文档在创建后增长的情况。文档增长会影响写入性能并导致数据碎片。此外,MongoDB中的文档必须小于最大BSON文档大小。
在使用embeds_many时会发生这种情况。
embeds_one将模型嵌入到另一个模型中,而has_one在模型中保存引用。
Mongodb以这种方式保存数据库中的文档(来自Mongodb示例)
参考1-1:
{
_id: "joe",
name: "Joe Bookreader"
}
{
patron_id: "joe",
street: "123 Fake Street",
city: "Faketon",
state: "MA"
zip: 12345
}嵌入式1-1
{
_id: "joe",
name: "Joe Bookreader",
address: {
street: "123 Fake Street",
city: "Faketon",
state: "MA"
zip: 12345
}
}https://stackoverflow.com/questions/18153707
复制相似问题