2010-10-17 186 views

回答

43

您可以查询嵌入式文档,只需限定名称。现在,这将返回所有与您的查询相匹配的书籍的作者。

如果作者被定义为具有多方面的:书(和书籍是一​​种嵌入式::文件)

@authors_with_sewid = Author.where("books.name" => "sewid").all 

你会那么需要遍历作者和提取的书籍。

+0

好的,非常感谢。如果我混合使用嵌入和引用的文档,我还可以查询引用的文档吗?例如,作者模型具有创建者字段,其中包含用户的ID。是否可以做'Author.where(“book.name”=“sewid”)和(“creator.username”=>“example”)'?第一次尝试失败。 – sewid 2010-10-18 05:21:34

+0

一旦它们被引用的对象,你将需要一个联接。在蒙古的土地上没有联合。 – 2010-10-18 12:30:36

+2

在这种情况下做的最好的事情是反规范化您的数据并将作者的用户名与作者存储在一起。 – Nader 2010-11-01 04:21:43