 
       unless target
         Log.error "Document's '#{ id }' field '#{ @sourcePath }' is referencing a nonexistent document '#{ value._id }'"
-        # TODO: Should we call reference.removeSource here?
+        # TODO: Should we call reference.removeSource here? And remove from reverse fields?
         return
 
       # We omit _id because that field cannot be changed, or even $set to the same value, but is in target

      $ne: id

    update = {}
    update[@reverseName] = source

    @targetCollection.update selector,
      $addToSet: update


    return unless @reverseName

    # TODO: Current code is run too many times, for any update of source collection reverse field is updated

    # We just add the ID to the reverse field array and leave for any additional fields
    # (@reverseFields) to be added by reference fields configured through Meta._reverseFields

    selector =
      _id: value._id
