MongoDB - захват удаленных объектов из закрытой коллекции - PullRequest
4 голосов
/ 14 апреля 2011

Цитирование из документов MongoDB в ограниченных коллекциях :

После полного использования пространства вновь добавленные объекты заменят самые старые объекты в коллекции.

Есть ли способ захватить «отброшенные» объекты в закрытой коллекции до того, как они будут перезаписаны?Я заинтересован в реализации серии накопительных коллекций.например,

Hourly --> Daily --> Weekly --> Monthly  etc.

, поэтому, когда объект удаляется из коллекций Hourly, я хочу захватить его и агрегировать до ежедневной коллекции.

Заранее спасибо.

// Николай

Ответы [ 2 ]

3 голосов
/ 14 апреля 2011

Вы должны реализовать эту функциональность в коде, а не в MongoDB.

Я не думаю, что Capped Collections - это правильное решение для вашего варианта использования.

You может вставлять в ограниченную коллекцию и в то же время вставлять в "обычную" коллекцию и объединять их в ежечасные / ежедневные, еженедельные, ежемесячные и т. д., используя карту Reduce.

2 голосов
/ 14 апреля 2011

Согласно разработчикам MongoDB, вы не можете сделать это:

http://groups.google.com/group/mongodb-user/browse_thread/thread/aec8d0c85f58d89e/d6701df083eb4679?fwc=1

Что меня интересует, так это реализация серии накопительных коллекций.

Как сказал Алекс, один из способов решить эту проблему - использовать MapReduce. Другой способ - иметь другую коллекцию, например в день, например, logs20110414 и ваше приложение должно управлять чтением / записью в соответствующую коллекцию.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...