2013-08-17 24 views
3

沒有流星系列提供任何方式使用TTL(生存時間)功能可以從MongoDB的?需要這樣的一種多用戶會話與臨時數據。這些變化完全反應並不重要。生存時間與Meteor.Collection

+1

我想知道這一點。我希望我的對象在一小時後從數據庫中消失。 – chovy

回答

0

兩個部分,以這樣的回答:

1)申請,你可以使用流星_ensureIndex方法的指標,然而,隨着_表明,這種支持可以隨時拔出。也有可能是什麼都可以通過術語限制,但對於一些如

db.log.events.ensureIndex({ "status": 1 }, { expireAfterSeconds: 3600 }) 

簡單..然後標準實施蒙戈 - livedata

self._collection._ensureIndex(index, options); 

的......應該是足夠的。

2)我沒有測試過,但我敢肯定,而TTL會工作。 (另一方面,我有測試加蓋收藏,他們工作)。你看,什麼DDP確實在回升數據的變化而言是雙重的:它知道流星每次寫操作驅動

  • 它投票後

    • 據調查MONGO MONGO反正每10秒(對於出帶更新)

    第二部分意味着你可以手動進入你的mongo shell,刪除/添加/更新的東西,並且更改將在10秒之後反映出來。

    在此基礎上,如果你滿意,10秒延遲反應,那麼TTL應該工作。

    如果你不滿意,您可以嘗試Arunoda的智能集合,你可以閱讀更多關於:http://meteorhacks.com/introducing-smart-collections.html。他們從oplog中讀取(如果有的話),這樣可以減少延遲反應。請注意,這個概念雖然很有趣,但有一些侷限性,大衛格拉瑟已經在這篇文章中提到:https://groups.google.com/d/msg/meteor-talk/h-ulU7guh1Y/nTfJ1F8uGxwJ

    無論如何,祝你好運,讓我們知道你是如何得到的。