2012-06-29 78 views
0

對不起 - 我是新與蒙戈....MongoDB的 - 問題刪除文檔

我用它作爲儲存在我的web應用程序日誌。我想定期運行rake任務來刪除我的腳本自動網站檢查。

我可以成功地拉動文件與感興趣的PARAMS:

coll.find("params.from" => "sitecheck").to_a.count 
    => 5 

然而,他們不會滴!

coll.remove("params.from" => "sitecheck") 
    => true 
coll.find("params.from" => "sitecheck").to_a.count 
    => 5 

我知道我在做一些非常愚蠢的....幫助將apprecaited雖然:)

回答

1

想通了....我使用的是加蓋集合。無法刪除它...

+0

從加蓋集合中刪除文檔是[使用限制]之一(http://www.mongodb.org/display/DOCS/Capped+Collections#CappedCollections-UsageandRestrictions)。這些文檔會根據插入順序自動超時([先入先出](http://en.wikipedia.org/wiki/FIFO))。 – Stennie

+0

我有一個自動化的網站檢查器每30分鐘擊中網站。我希望偶爾刪除它們以防止日誌堵塞。除了刪除這些對象的能力,有沒有辦法阻止MongoDB保存這些對象?或者「保存回調後」擺脫它們? – Brandon

+0

封頂的集合將使您的數據保持指定的字節大小(並且可選[max documents](http://www.mongodb.org/display/DOCS/Capped+Collections#CappedCollections-Options)),這是一種自動策略管理數據。在MongoDB 2.2中還有一個新的[TTL(生存時間)集合](http://docs.mongodb.org/manual/tutorial/expire-data/)。如果您想專門控制數據的刪除時間,則應使用正常(未限制)的收集。加蓋集合通常用於[日誌記錄](http://blog.mongodb.org/post/172254834/mongodb-is-fantastic-for-logging)。 – Stennie