Skip to content

Instantly share code, notes, and snippets.

@jakobdamjensen
Created August 21, 2014 08:54
Show Gist options
  • Save jakobdamjensen/252649252ef7b3ce92f5 to your computer and use it in GitHub Desktop.
Save jakobdamjensen/252649252ef7b3ce92f5 to your computer and use it in GitHub Desktop.
Lidt tomme tanker
var findAndRemove = function(collection, query){
var promise = new Promise(),
remove = function(err, result){
var ids = [];
if( err ){
promise.resolve(err);
return;
}
ids = result.map(function(s){ return s._id;});
result.remove().then(function(err, res){
promise.resolve(err, ids);
});
};
collection.find(query).then(remove);
return promise;
}
var removeParents(){
return findAndRemove(Parents, {name: 'asd'});
}
var removeKids(err, parentIds){
return findAndRemove(Kids, {parentId: {$in: parentIds}});
}
var removeDogs(err, kidsIds){
return findAndRemove(Dogs, {kidId: {$in: kidsIds}});
}
removeParents().
then(removeKids).
then(removeDogs);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment