我试图通过这样做获得即将出版的书籍清单:
scope :upcoming, lambda { where('books.date_due' => {'$lt' => Date.yesterday + 7.days, '$gt' => Date.today - 14.days})
但是我需要将它限制在第一个嵌入式文档中...这会查询每本书的所有嵌入文档......
我是否可以在created_at
字段中添加其他查询来执行此操作?
答案 0 :(得分:1)
embeds_many
嵌入文档实际上只是一个带有一些Mongoid包装的哈希数组。这意味着您可以使用常用的数组符号来查看数组中的特定元素;特别是,你可以说:
where('books.0.date_due' => { ... })
# ^ element zero is the first entry