Si para filtrar los datos que necesitas eliminar, necesitas unir varias tablas, lo mas sencillo es hacer una consulta con el aggreate(), comprobar que realmente devuelve lo que necesitas:
db.getCollection('TablaA').aggregate([
{ "$lookup": {
"from": "TablaB",
"foreignField": "idB",
"localField": "idA",
"as": "alias_tablaB"
}}
]).forEach(function(doc){
printjson(doc._id) // lo que quieras comprobar.
})
y despues añadirle el comando remove a cada doc que quieres eliminar:
db.getCollection('TablaA').aggregate([
{ "$lookup": {
"from": "TablaB",
"foreignField": "idB",
"localField": "idA",
"as": "alias_tablaB"
}}
]).forEach(function(doc){
printjson(doc._id) // lo que quieras comprobar.
db.getCollection("TablaA").remove({ "_id": doc._id });
})
y listo! Facil y seguro.
Deja una respuesta