How does one check if user has created a node of a content type in rules?
After seeing these big answers for Rules, I think you can try to do the same via code. Its much smaller and extremely faster than Rules!

/**
 * Implements hook_node_prepare()
 * @param type $node 
 */
function mymodule_node_prepare($node) {
  if ($node-&gt;type == "my_type") {
    if (!isset($node-&gt;nid)) {
      $existing_nid = db_query("SELECT nid FROM {node} WHERE (type = :type1) AND uid = :uid", array("type1" =&gt; "my_type, "uid" =&gt; $node-&gt;uid))-&gt;fetchField();
      if ($existing_nid != FALSE) {
        drupal_goto("node/$existing_nid/edit");
      }
    }
  }
}


This code checks if the user already have created a node, if yes, instead of allowing him to create a new one, we redirect him to the edit form of the existing node.

If you want this feature without Rules or code, you can try the Profile module. It has this magical feature to configure any content-type as 'profile'. And when a content-type is configure as 'profile', users are not allowed to have more than one node of that particular type.

Thanks!