mongodb时间序列数据库恢复 - Fri, Feb 6, 2026
mongodb时间序列数据库恢复时会自动清理过期数据,首先需要禁用时间序列自动清理。
- 关闭索引清理
# 暂停集合的所有TTL索引
db.runCommand({
"collMod": "your_collection",
"index": {
"keyPattern": { "timestamp": 1 },
"expireAfterSeconds": "off" # 禁用TTL
}
})
- 恢复时不包含索引
mongorestore --noIndexRestore --db yourdb /backup/directory/
- 恢复数据前先禁用索引
# 步骤1: 禁用TTL
mongosh --eval 'db.runCommand({collMod: "history", expireAfterSeconds: -1})'
# 步骤2: 执行数据恢复
mongorestore --db yourdb --collection metrics /backup/metrics.bson
# 步骤3: 如果需要,重新启用TTL(可选)
mongosh --eval 'db.runCommand({collMod: "metrics", expireAfterSeconds: 86400})'