Mongoid允许用find_by
或where
等方法查询引用和嵌入文档。
假设我有一个模型Project
,它嵌入了许多Tasks
。当我想要找到特定任务时,我目前正在执行以下操作:
project = Project.find(...)
task = project.tasks.find_by(:some_field => 'Some Value')
我的问题是,上面对嵌入式任务的find_by
查询是否向Mongo数据库发出另一个查询,或者它是否认识到任务嵌入在给定项目中而是在本地过滤任务?
谢谢
答案 0 :(得分:2)
不,它不会再做另一个查询。
嵌入式文档基本上是非规范化的。 http://docs.mongodb.org/manual/core/data-model-design/#data-modeling-embedding
如果您有兴趣亲自查看查询,可以将其打开: How can I see raw mongoDB queries with Mongoid