有没有办法在一段时间后重置 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 数据库的所有集合?的主要内容,如果未能解决你的问题,请参考以下文章

按钮声音在一段时间后停止

为啥我们应该让帐户激活/密码重置链接在一段时间后过期?

QModbusRtuSerialMaster 重置输出队列

由于连接方在一段时间后没有正确答复或连接的主机没有反应

c9由于连接方在一段时间后没有正确答复

错误信息:由于连接方在一段时间后没有正确答复或连接的主机没有反应,连接尝试失败。foxmail无法发送邮件