Mongoid/Mongodb并查询嵌入式文档

sew*_*wid 30 ruby-on-rails mongodb mongoid

我有AuthorBook模特.

一个Author有许多嵌入式Books.

我可以查询嵌入式Books,还是我必须Authors首先获取Books

Jes*_*ott 48

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

如果作者被定义为有许多:书籍(书籍是嵌入式::文档)

@authors_with_sewid = Author.where("books.name" => "sewid").all
Run Code Online (Sandbox Code Playgroud)

然后,您需要迭代作者并提取书籍.

  • 在这种情况下,最好的做法是对数据进行非规范化,并将创建者用户名存储在作者中. (2认同)