我有一个标记集合,其中有一个“createdAt”日期,mongo将每小时为我过期,我也有一个用户集合,其中每个用户都有他们设置的标记的ObjectId列表,有什么方法可以在MongoDB过期标记时从用户标记列表中删除标记id吗?
发布于 2017-05-11 05:43:05
mongod中的后台线程读取索引中的值,并从集合中删除过期的文档。 当TTL线程处于活动状态时,您将看到db.currentOp()的输出或数据库分析器收集的数据中的delete操作。
似乎没有任何方法可以连接到这个过程中。
但是,您可以做的是停止在用户端保留标记列表,而是将用户ID保存在标记本身中(并根据存储引用和查询的方式添加适当的索引)。这样,您就可以快速检索用户的标记,而不必担心列表中陈旧的条目,而不需要花费额外的查询。
https://stackoverflow.com/questions/43904591
复制