How do I delete an old node when a new node is created? When a user submits a new node, I want the Rules module to look for other nodes with the same email field, then delete the older node and keep the new node.

When a user adds a new node, there is an email field that always stays the same which can be used as field to find nodes.

Is there any way to do this?
with views rules is possible, a bit complicated, make a user view, you will need a contextual filter, "When the filter value is NOT available", "Provide default value", php code, then add something like: 

global $user; // gets current logged in user object

 if (isset($user-&gt;field_user_address[LANGUAGE_NONE][0]['country'])) {      
  $user_country = $user-&gt;field_user_address[LANGUAGE_NONE][0]
['country'];
return $user_country;}


instead of using &amp; returning $user_country, use &amp; return your email field, and that view will return only the loggedin user field-email, add a relationship on node author, then add "node title" or whatever form the relationship, then apply a rule on that view and delete (or unplubish) that content. hope it helps.

EDIT: may be is over-coded my solution, just add a user view, contextual filter, loggedin user from URL, apply filters and relationships as needed to only get the node you are looking for, then apply a rule on that view.