2012-01-25 115 views
0

我正在開發一個使用Codeigniter和MongoDB(Alex Bilbie庫)的網站。 目前在圖書館中沒有任何支持來做Map/Reduce查詢。Codeigniter。地圖/縮小庫

我該怎麼做?是否有支持Codeigniter的庫?

回答

1

您可以直接使用MongoDB的PHP驅動程序。有一個command函數可以運行任何命令;看看MapReduce的例子:http://php.net/manual/en/mongodb.command.php另外,還有一個PHP的MapReduce庫,使它對開發更友好(雖然我從來沒有用過):https://github.com/infynyxx/MongoDB-MapReduce-PHP/

真的,在CodeIgniter的上下文中。在cron作業類型場景中MapReduce的效果更好,每天運行一次(或每天幾次),並根據運行結果(然後您從PHP中查詢)構建新的集合。你的用例是什麼?

+0

我想計算不同的東西,如用戶添加了多少標籤(以及每個標籤的數量)。 –

+0

我會在用戶文檔中的某處存儲計數,並在添加/刪除標籤時進行更新,或者每隔一段時間只更新一次標籤。此外,還有一個新的聚合框架出現在2.2(理論上),它將有效地替代這種用例的MapReduce:http://www.mongodb.org/display/DOCS/Aggregation+Framework –