gpt4 book ai didi

mongodb - 具有 TTL 索引和数据恢复的过期 mongo 数据

转载 作者:可可西里 更新时间:2023-11-01 09:12:59 37 4
gpt4 key购买 nike

我正忙于考虑在 MongoDB 中的集合上使用 TTL 索引,并想知道在恢复时会产生什么影响。

例如,如果我将集合的 TTL 设置为 2 天:

db.logEvents.ensureIndex({"datestamp":1},{expireAfterSeconds:172800})

如果我在一周后使用 mongodump restore 备份每日日志,logEvents 集合是否会为空?对于 mongodump/mongorestore,我正在考虑在恢复之前在 logEvents.metadata.json 中手动修改/删除索引 - 这行得通吗?

如果从原始数据文件恢复怎么办 - 我怎样才能在 datadir 中使用恢复的原始文件启动 mongod 服务而不立即使数据过期?

最佳答案

这是个好问题!

检查我是否创建了一个集合并测试了您的场景,其中恢复的数据在 ttl 之外。

记录已恢复,并在接下来的几秒钟内从集合中删除。

更改元数据文件中的索引详细信息后,我能够在原始 ttl 窗口之外列出记录。

删除条目:

,"expireAfterSeconds":36.0

只要您使用 NMAP 引擎,从原始文件恢复也可以发挥作用。WiredTiger 在文件外存储了一些额外的数据,我无法从 WT 文件恢复集合。

玩得开心!

关于mongodb - 具有 TTL 索引和数据恢复的过期 mongo 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37616790/

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