--- FeedsNodeProcessor.inc	2010-09-02 09:22:39.000000000 -0700
+++ FeedsNodeProcessor.new	2010-09-02 09:26:02.000000000 -0700
@@ -234,7 +234,7 @@ class FeedsNodeProcessor extends FeedsPr
       $target_node->teaser = node_teaser($value);
       $target_node->body = $value;
     }
-    elseif (in_array($target_element, array('title', 'status', 'created'))) {
+    elseif (in_array($target_element, array('title', 'status', 'created', 'nid'))) {
       $target_node->$target_element = $value;
     }
   }
@@ -259,6 +259,11 @@ class FeedsNodeProcessor extends FeedsPr
       );
     }
     $targets += array(
+      'nid' => array(
+        'name' => t('Node ID'),
+        'description' => t('The id of the node. NOTE: use this feature with care, node ids are usually assigned by Drupal.'),
+        'optional_unique' => TRUE,
+      ),
       'uid' => array(
         'name' => t('User ID'),
         'description' => t('The Drupal user ID of the node author.'),
@@ -299,6 +304,9 @@ class FeedsNodeProcessor extends FeedsPr
     // exist in the database.
     foreach ($this->uniqueTargets($source_item) as $target => $value) {
       switch ($target) {
+        case 'nid':
+          $nid = db_result(db_query("SELECT nid FROM {node} WHERE nid = %d", $value));
+          break;
         case 'url':
           $nid = db_result(db_query("SELECT nid FROM {feeds_node_item} WHERE feed_nid = %d AND id = '%s' AND url = '%s'", $source->feed_nid, $source->id, $value));
           break;
