批量插入数据脚本
const oneDayAgo = new Date(Date.now() - 1 * 24 * 60 * 60 * 1000);
const documents = [];
for (let i = 1; i <= 100; i++) {
documents.push({
id: i,
createTime: oneDayAgo,
data: `Sample data ${i}`
});
}
db.test_data.inserMany(documents);
多collection关联删除脚本
const batchSize = 10000;
let deletedCount = 0;
do {
const xxxIdsToDelete = db.B.find(
{ status: { $ne: 1 } },
{ xxxId: 1, _id: 0 }
).toArray().map(doc => doc.xxxId);
const result = db.A.deleteMany(
{
xxxId: { $in: xxxIdsToDelete }
},
{ limit: batchSize }
);
deletedCount = result.deletedCount;
print(`已删除 ${deletedCount} 条数据`);
} while (deletedCount > 0);