有没有办法在一段时间后重置 mongodb 数据库的所有集合?
Posted
技术标签:
【中文标题】有没有办法在一段时间后重置 mongodb 数据库的所有集合?【英文标题】:Is there any way to reset all collections of a mongodb database after a certain period of time? 【发布时间】:2019-06-16 01:39:01 【问题描述】:我想在 MongoDB for NodeJs 中的一段时间后重置/删除我数据库的所有集合中的所有条目。有什么可能的方法来做到这一点?
MongoClient.connect(url, useNewUrlParser: true , function(err,
db)
if (err) throw err;
var dbo = db.db("process.env.DB_NAME");
var myquery = ;
dbo.collection("TableStatus").deleteMany(myquery, function(err,
obj)
if (err) throw err;
console.log(obj.result.n + " document(s) deleted");
);
);
我已将此代码包含在一个函数中。那么也许有办法在一段时间后调用这个函数?
【问题讨论】:
我认为您正在寻找的答案类似于***.com/questions/19961387/… 和***.com/questions/28139638/… 的组合。您可以通过调用CollectionName.remove(, callback)
来获取所有集合名称、遍历它并从每个集合中删除所有文档
【参考方案1】:
为此目的创建了 TTL 索引:https://docs.mongodb.com/manual/core/index-ttl/
【讨论】:
以上是关于有没有办法在一段时间后重置 mongodb 数据库的所有集合?的主要内容,如果未能解决你的问题,请参考以下文章