gpt4 book ai didi

meteor - 是时候与 Meteor.Collection 一起生活了

转载 作者:行者123 更新时间:2023-12-02 09:46:38 32 4
gpt4 key购买 nike

Meteor Collection 是否提供任何使用 TTL 的方法? mongodb 的(生存时间)功能?对于具有临时数据的多用户 session 需要它。更改是否完全响应并不重要。

最佳答案

这个答案分为两部分:

1) 要应用索引,您可以使用 Meteor 中的 _ensureIndex 方法,但是正如 _ 所示,可以随时取消对此的支持。可以传递的内容也可能存在限制,但对于像这样简单的事情

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

..然后是mongo-livedata的标准实现

self._collection._ensureIndex(index, options);

...应该足够了。

2) 我还没有测试过,但我确信 TTL 会起作用。 (另一方面,我测试了上限集合,它们确实有效)。您会看到,DDP 在获取数据更改方面所做的工作有两个方面:

  • 它在知道 Meteor 驱动的每次写入操作后轮询 mongo
  • 无论如何,它每 10 秒轮询一次 mongo(用于带外更新)

第二部分意味着您可以手动进入 mongo shell,删除/添加/更新内容,更改将在 10 秒内反射(reflect)出来。

在此基础上,如果您对 10 秒的 react 延迟感到满意,那么 TTL 应该可以工作。

如果您对此不满意,您可以尝试 Arunoda 的智能集合,您可以在以下位置阅读更多信息:http://meteorhacks.com/introducing-smart-collections.html 。他们从 oplog 中读取(如果有的话),这样可能会减少 react 性的延迟。请注意,这个概念虽然有趣,但也有局限性,David Glasser 在这篇文章中已介绍过:https://groups.google.com/d/msg/meteor-talk/h-ulU7guh1Y/nTfJ1F8uGxwJ

无论如何,祝你好运,并告诉我们你的进展如何。

关于meteor - 是时候与 Meteor.Collection 一起生活了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18290196/

32 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com