У меня есть массив идентификаторов, и я хотел бы узнать, какие из этих идентификаторов еще не существуют.
Возьми это:
spotify_ids = ['47k5tMDS3jLAOFE29nkfzO', '5mv8xuH3y6jxFCBT6a3w4K', '5En0gXQk01BaWoT4q2oVbe', '0cj44N6Ux4i2NkTkQIcLnE']
existing_items = Track.where(spotify_id: spotify_ids)
В этом примере идентификатор 0cj44N6Ux4i2NkTkQIcLnE
не существует, поэтому в конечном итоге я пытаюсь получить только ['0cj44N6Ux4i2NkTkQIcLnE']
.
Это where
просто возвращает найденные записи, и я пытаюсь точно определить, какой из этих идентификаторов не сохранен.
Я пытался Track.where.not(spotify_id: spotify_ids)
, но он просто возвращал каждую запись из всей таблицы, которая не соответствовала этим идентификаторам, а это не то, что мне нужно.
Самое большее, что массив будет содержать 50 элементов, поэтому, вообще говоря, проблемы с производительностью не должны возникать.