mongodb复制而不删除辅助数据库中的数据

mongodb复制而不删除辅助数据库中的数据,mongodb,replication,Mongodb,Replication,我在服务器上有一个mongod实例,以前的数据每天都被删除(我只保留了30天的数据)。另一方面,我希望在我的客户机中有一个数据库的镜像副本,其中包含所有数据,并且不希望在我的客户机中应用任何删除指令(我需要在客户机中保留在服务器中删除的所有旧数据) 哪种类型的复制会帮助我?< P>如果数据是您唯一需要的(与一个BoAffIDB镜像),那么考虑基于AutoMySQL备份查看这个备份脚本,该备份可以每天、每周、每月备份。在删除数据之前运行此操作(假设它是一个批处理过程)。它很简单,并且愿意被改编。

我在服务器上有一个mongod实例,以前的数据每天都被删除(我只保留了30天的数据)。另一方面,我希望在我的客户机中有一个数据库的镜像副本,其中包含所有数据,并且不希望在我的客户机中应用任何删除指令(我需要在客户机中保留在服务器中删除的所有旧数据)

哪种类型的复制会帮助我?

< P>如果数据是您唯一需要的(与一个BoAffIDB镜像),那么考虑基于AutoMySQL备份查看这个备份脚本,该备份可以每天、每周、每月备份。在删除数据之前运行此操作(假设它是一个批处理过程)。它很简单,并且愿意被改编。 如果需要镜像,可以基于导出编写mongo导入脚本

------编辑----

给定的评论考虑一个周期性执行(使用CrutAB)。< /P> 创建“镜像表”而不是镜像数据库的。镜像数据库需要连接,因此沿

var mirrordb=connect(“localhost:27020/mirroredb”);//或任何其他有效的conn字符串 mirrordb.collection.insert(doc)//替换上面的insert

还有一个是移除30天的旧东西

var now = ISODate();
var ago = now - (30 * 86400 seconds); //some javascript to subtract 30 days

// find all date that is less (or older) than 30 days old
db.collection.find({"created_date" : {$lt : ago }}).forEach(function(doc) {  
   db.collection.remove(doc._id);        // remove the 30 day old data
}

备份/恢复系统不适合我,我需要在客户机中无长时间延迟的新数据(大约10秒延迟是好的)你说的客户机中数据库的镜像拷贝是什么意思?是否要在客户端上存储数据?你能详细说明一下用例是什么吗?
var now = ISODate();
var ago = now - (30 * 86400 seconds); //some javascript to subtract 30 days

// find all date that is less (or older) than 30 days old
db.collection.find({"created_date" : {$lt : ago }}).forEach(function(doc) {  
   db.collection.remove(doc._id);        // remove the 30 day old data
}