我想從地圖功能訪問另外一個集合,這樣我可以做的鍵查找並執行一些聚合。我可以使用db.collection_name
或類似的BSON代碼訪問任何收藏嗎?訪問MongoDB中的地圖另一個集合減少
3
A
回答
6
如果您在本地嘗試此功能,它將起作用。但是,這完全在分片場景中失敗,因爲集合或集合中的數據將不在分片本地。
這也是不好的做法,因爲在M/R可引起級聯的查詢是很難追查。
如果您遇到這個問題,你有幾個optiosn:
- 進行非標準化的數據:如果
map
上收集A
需要從收集B
領域x,y,z
,則這些字段複製到A
。是的,它沒有被標準化,但MongoDB不是一個關係數據庫,它不打算被標準化。 - 多部分M/R:在很多情況下,你可以通過執行一些不同的操作,並將結果寫入到一個單一的集合實現相同的結果。所以,也許你首先在
A
上做M/R,然後循環輸出,並用B
中的數據在單獨的腳本/過程中更新。
我見過使用這兩個選項。我甚至見過#2轉換成簡單的for
循環,它可以同時處理兩個部分。我已經用簡單的for
循環和upserts成功地替換了一些M/R作業。
2
這是不可能的,因爲它會在分片設置中破壞。 Map/Reduce只能使用它們被調用的集合。
相關問題
- 1. Mongodb地圖減少2個集合
- 2. mongoDB地圖/減少
- 3. 地圖減少的MongoDB:_id問題
- 4. mongodb的地圖減少value.count
- 5. 減少座標對集合的地圖
- 6. Java集合減少到地圖
- 7. 填充從一個集合到另一個集合減少數據流星Js
- 8. 訪問另一個viewController中的地圖
- 9. 結合地圖和減少
- 10. 從另一個集合中訪問結構集合屬性
- 11. mongodb的地圖/減少或組
- 12. Mongodb使用地圖的字數減少
- 13. 地圖減少地圖減少
- 14. 的MongoDB:直接從另一個集合
- 15. 地圖減少投擲錯誤:MongoDB
- 16. MongoDB地圖減少與查詢
- 17. 如何從一個集合中減去另一個集合中的數字?
- 18. 如何使用ActiveRecord通過另一個集合訪問集合
- 19. MongoDB集合可以在其中有另一個集合嗎?
- 20. 在另一個集合中創建和查詢集合。 mongodb node.js
- 21. 如何使用MongoDB有效地將數據從一個集合集合到另一個集合中?
- 22. 更新地圖功能中的計數器並減少訪問
- 23. 基於另一個搜索MongoDB集合
- 24. Grails Groovy - 無法從另一個類訪問靜態地圖(集合)
- 25. 如何在地圖上執行地圖縮減在mongodb中減少結果
- 26. 到MongoDB的集合移動到另一個集合
- 27. 訪問一個集合
- 28. 貓鼬「_id」消失在與地圖創建的集合/減少
- 29. 地圖,減少多個鍵
- 30. Runnin一個Hipi地圖減少程序
另請注意,訪問另一個集合在Mongo 2.4中也不會工作, mapReduce訪問其他集合的功能已被刪除。參見[發行說明](http://docs.mongodb.org/manual/release-notes/2.4/#additional-limitations-for-map-reduce-and-where-operations) – jbyler 2015-03-10 20:17:16