hot*_*ips 5 mongodb aggregation-framework
实际上,我使用map reduce来进行一些计算.我不能用聚合框架做到这一点,因为我的计算没有可用的管道运算符.
是否可以编写自定义管道运算符?
提前致谢
答案取决于您对"可能"的定义:
1)开箱即用:没有.
与MongoDB 2.2一样,没有最终用户功能允许您添加新的管道运算符.聚合框架和管道运算符在C++中实现,以提高早期聚合选项(如MapReduce(在JavaScript中实现))的性能和并发性.
2)如果你想用C++写一个:YES(但不是琐碎的).
MongoDB是一个开源项目,因此您可以选择深入了解C++代码并自己实现其他功能(请参阅:) src/mongo/db/pipeline.请注意,有关于为MongoDB项目做贡献的准则,并且正在进行的开发非常活跃.
如果您想编写自定义函数,目前最好的选择是继续使用MapReduce.
无论上述选项如何,如果您希望看到管道运算符或功能,请在MongoDB Jira SERVER项目(组件:)中进行建议Aggregation Framework.这将允许其他人对功能请求进行评论,观看和投票.如果您最终自己最终实现该功能,则可以在您的请求中引用Jira功能描述.在提交新功能请求之前,您还应该搜索是否已经建议此功能.
例如,已经有如下请求: