2012-01-25 31 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 –