我有兩個集合:新聞和訂閱。每個新聞都有一系列字符串 - 「標籤」。每個訂閱也有這樣的「標籤」。MongoDB/MongoID多鍵特殊查詢
訂閱的新聞項目是訂閱所有標籤的項目,可能更多。新聞項目的訂閱是訂閱任何這個項目的標籤,但沒有更多。
當我希望得到一個訂閱的新聞,我的紅寶石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應該給訂閱1..3,但subscribe4不應包括在內,因爲它不包括在item.tags
一個「巴茲」標籤
我不是100%清楚這裏的預期。你能夠提供:樣品對象,預期的查詢結果。這將有助於我們制定恰當的查詢。 – 2011-04-26 06:28:44
我編輯過的例子,所以我希望你能理解它。 – sandrew 2011-04-26 14:07:20