0
0 Comments

这里有三个表,结构如下:

A{_id,xx,xx,xx}

B{_id,xx,xx,xx,taskId(关联A的_id)}

C{_id,xx,xx,xx,recordId(关联B的_id)}

问题 现在我希望根据A的id去删除记录 同时也要清理B C表中的脏数据

目前思路:shell命令我的思路是通过foreach去嵌套删除,(还没尝试是否好使)

但是假如好使 我希望通过java代码来实现这块 或者拆开分别删除

db.A.find({_id:”xxxxxx”}).foreach({

function(item){

db.B.find({_id:item.id}).foreach({

function(item2){

db.C.deleteMany({recordId:item2.id});

db.B.delete(item2);

}

})

db.A.delete(item);

}

})

Answered question