I currently have an implementation that helps us deduplicate data but I know it's slow.

Here's an example, note that I'm using OpenStruct here when really these are Mongoid objects pulled from the database.

    require 'ostruct'
    
    vendor_data = [
      OpenStruct.new(activity_id: "abc123"),
      OpenStruct.new(activity_id: "def456"),
      OpenStruct.new(activity_id: "ghi789"),
      OpenStruct.new(activity_id: "jkl012"),
    ]
    
    existing_ids = ["abc123", "def456"]
    
    def slow_method(vendor_data, existing_ids)
      vendor_data.each do |vendor|
        next if existing_ids.include? vendor.activity_id
        vendor.name = "A company"
        # in real life we'll call vendor.save or update here
      end
    end
    
    slow_method(vendor_data, existing_ids)


I know this is \$O(n^2)\$ but I'm struggling to figure out a faster way to do this. 

I'm not sure on CodeReview if it's best practice to list out the 4 other variations I've tried but none of them seem to be any better or readable than my first pass.