Mongodb:批处理作业和删除数据

Mongodb:批处理作业和删除数据,mongodb,Mongodb,我正在编写一个批处理作业,以使用聚合框架聚合一些数据。由于数据输出可能很大,我在管道顶部使用$limit,以减少一次处理的对象数量。我的问题是:聚合完成后,如何可靠地从集合中删除所有已处理的对象,而不必担心竞争条件?或者我想做的事还有别的方法吗 1> rename your collection 2> Now do all your processing on the new collection. 警告:它在分片环境中无法正常工作您担心什么竞争条件?假设对集合A的前1000条记

我正在编写一个批处理作业,以使用聚合框架聚合一些数据。由于数据输出可能很大,我在管道顶部使用
$limit
,以减少一次处理的对象数量。我的问题是:聚合完成后,如何可靠地从集合中删除所有已处理的对象,而不必担心竞争条件?或者我想做的事还有别的方法吗

1> rename your collection

2> Now do all your processing on the new collection.

警告:它在分片环境中无法正常工作

您担心什么竞争条件?假设对集合A的前1000条记录运行聚合,然后将结果保存到集合B。然后我想删除集合A中我刚刚处理的1000条记录。但是,在这一点上,有一种可能性是,另一个进程在1000条记录前面插入了更多的记录。“在前面”-我假设您将在确定性边界(日期、id值等)上分块数据