我知道這已經在這裏覆蓋了很多,但是,我對MongoDB非常陌生,並且正在努力應用我發現的情況。Mongodb - 結合來自兩個集合的數據
總之,我有兩個集合'total_by_country_and_isrc',它是MapReduce函數的輸出和'asset_report',其中包含'total_by_country_and_isrc'集合中不存在的asset_id或來自MapReduced的原始原始數據集合。
在 'total_by_country_and_isrc' 中的數據的一個例子是:
{ 「_id」:{ 「custom_id」:4748532, 「ISRC」: 「GBCEJ0100080」, 「國家」: 「AE」} 「值」:0}
而在 'asset_report' 中的數據的一個例子是:
{ 「_id」:的ObjectId( 「51824ef016f3edbb14ef5eae」), 「資產標識」: 「一個836656134476364" , 「資產類型」: 「網絡」, 「元數據起源」: 「未知」, 「自定義ID」: 「4748532」, 「ISRC」: 「」,}
我想最終得到以下的( 'total_by_country_and_isrc_with_asset_id'):
{ 「_id」:{ 「資產標識」: 「A836656134476364」, 「custom_id」:4748532, 「ISRC」: 「GBCEJ0100080」, 「國」 :「AE」},「value」:0}
我知道我將如何處理關係數據庫,但是我我想嘗試在Mongo中工作,因爲我正在處理一些非常大的集合,並且覺得Mongo是正確的工具。
任何人都可以在這裏提供一些指導?
不幸的是,你不能「加入」這樣的兩個集合。 MapReduce只運行一個集合(和單個文檔)。您可能需要存儲更加非規範化的數據才能運行MapReduce。 – WiredPrairie 2013-05-02 12:35:24
是的,我意識到你不能以你在關係數據庫中的方式進行連接,但我已經看到一些似乎可以用MapReduce推斷出它的例子。感謝非規範化的提示,但我會研究。 – Raoot 2013-05-02 13:19:45
你有鏈接到你可以提供的例子嗎?也許我錯過了你想要做的事情。你可能可以做兩個MapReduces並且將/ out合併到同一個集合中(這是一些嘗試)。像這樣:http://stackoverflow.com/questions/9696940/merging-two-collections-in-mongodb我不跟隨你的例子,足以說這是否可能工作。 – WiredPrairie 2013-05-02 14:05:34