我在MongoDB中对多个条目进行了一些复杂的数据处理,首先我做map / reduce / finalize,然后我需要执行一些其他逻辑来计算和写入总计和其他无法计算的数字在地图内/减少自己。
我已经创建了一个单独的JS函数来运行db.eval()
来完成我需要做的事情,但我刚刚发现在MongoDB 3.0中不推荐使用db.eval()
,并且这对我来说是一个无赖,因为我计划很快升级到3.0,我们真的需要它的新WiredTiger引擎。
我已经将db.cursor.forEach()
函数视为实现类似逻辑的另一种方法,但似乎当前的MongoDB PHP驱动程序不支持它。
所以问题是 - 在Mongo-PHP堆栈中执行复杂的每个文档函数是否有任何变通方法?
答案 0 :(得分:0)
Mongo的MapReduce是使用JavaScript实现的,Aggregation Framework基于C ++,对我来说要快得多。您是否考虑过使用聚合框架?