Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/330.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java MongoDB TTL集合_Java_Mongodb_Ttl - Fatal编程技术网

Java MongoDB TTL集合

Java MongoDB TTL集合,java,mongodb,ttl,Java,Mongodb,Ttl,我有一个标记集合,它有一个“createdAt”日期,mongo将每小时为我过期一次,我还有一个用户集合,其中每个用户都有一个他们设置的标记的ObjectId列表,当MongoDB使标记过期时,有没有办法从用户标记列表中删除标记id?引用 mongod中的后台线程读取索引中的值,并从集合中删除过期的文档 当TTL线程处于活动状态时,您将在db.currentOp()的输出或数据库探查器收集的数据中看到删除操作 似乎没有任何方法可以与这个过程挂钩 不过,您可以做的是停止在用户端保留标记列表,而是在

我有一个标记集合,它有一个“createdAt”日期,mongo将每小时为我过期一次,我还有一个用户集合,其中每个用户都有一个他们设置的标记的ObjectId列表,当MongoDB使标记过期时,有没有办法从用户标记列表中删除标记id?

引用

mongod中的后台线程读取索引中的值,并从集合中删除过期的文档

当TTL线程处于活动状态时,您将在db.currentOp()的输出或数据库探查器收集的数据中看到删除操作

似乎没有任何方法可以与这个过程挂钩

不过,您可以做的是停止在用户端保留标记列表,而是在标记本身中保留用户ID(并根据如何存储引用和查询添加适当的索引)。这样,您就可以快速检索用户的标记,并且不必担心列表中过时的条目,而需要额外查询。

Quoting

mongod中的后台线程读取索引中的值,并从集合中删除过期的文档

当TTL线程处于活动状态时,您将在db.currentOp()的输出或数据库探查器收集的数据中看到删除操作

似乎没有任何方法可以与这个过程挂钩

不过,您可以做的是停止在用户端保留标记列表,而是在标记本身中保留用户ID(并根据如何存储引用和查询添加适当的索引)。这样,您就可以快速检索用户的标记,并且不需要担心列表中过时的条目,而需要额外的查询