【发布时间】:2011-04-25 07:49:54
【问题描述】:
我有两个集合:新闻和订阅。每个新闻项目都有一个字符串数组 - “标签”。每个订阅也有这样的“标签”。
订阅的新闻项目是具有所有订阅标签的项目,并且可能更多。新闻项目的订阅是具有该项目任何标签的订阅,但不再有。
当我想获得订阅的消息时,我在 Ruby MongoID 上做这样的请求:
NewsItem.where(:tags.all => @subscribe.tags)
如何获得某个新闻的所有订阅?
例如:
item.tags = ["foo", "bar"]
subscribe1.tags = ["foo"]
subscribe2.tags = ["bar"]
subscribe3.tags = ["foo", "bar"]
subscribe4.tags = ["foo", "bar", "baz"]
item.subscribes 应该给 subscribes 1..3,但 subscribe4 不应该包含在内,因为它有一个“baz”标签,它不包含在 item.tags 中
【问题讨论】:
-
我不是 100% 清楚这里的预期。您能否提供:示例对象、预期的查询结果。这将帮助我们制作适当的查询。
-
我已经编辑了例子,希望你能理解。
标签: ruby-on-rails mongodb mongoid nosql