问题描述
||
引用有关上限集合的MongoDB文档:
一旦空间被充分利用,
新添加的对象将替换
集合中最古老的对象。
有什么方法可以在被覆盖的集合的\“ dropped \”对象被捕获之前捕获它们?我感兴趣的是实现一系列汇总集合。例如。
Hourly --> Daily --> Weekly --> Monthly etc.
因此,当从“每小时”集合中删除对象时,我想捕获该对象并将其聚合到“每日”集合中。
提前致谢。
//尼古拉斯
解决方法
根据MongoDB开发人员,您不能执行以下操作:
http://groups.google.com/group/mongodb-user/browse_thread/thread/aec8d0c85f58d89e/d6701df083eb4679?fwc=1
我感兴趣的是实现一系列汇总集合。
正如alex所说,解决此问题的一种方法是使用MapReduce。另一种方式是拥有不同的集合,例如每天,例如logs20110414,并让您的应用程序管理对相应集合的读/写。
,您将必须在代码中而不是在MongoDB中实现该功能。
我认为封顶集合不是您的用例的正确解决方案。
您可以插入一个有上限的集合中,同时插入一个“正常”集合中,并使用map reduce将它们汇总为每小时/每天,每周,每月等。