我有一个ID数组,我想查询一下其中哪些ID不存在。
为此:
spotify_ids = ['47k5tMDS3jLAOFE29nkfzO', '5mv8xuH3y6jxFCBT6a3w4K', '5En0gXQk01BaWoT4q2oVbe', '0cj44N6Ux4i2NkTkQIcLnE']
existing_items = Track.where(spotify_id: spotify_ids)
在此示例中,ID 0cj44N6Ux4i2NkTkQIcLnE
不存在,所以我最终试图返回的只是['0cj44N6Ux4i2NkTkQIcLnE']
。
where
仅返回它找到的记录,而我试图指出它没有保存了哪些ID。
我尝试了Track.where.not(spotify_id: spotify_ids)
,但那只返回了整个表中与这些ID不匹配的每条记录,这不是我想要的。
该数组最多只能包含50个项目,因此,一般而言,性能问题不会出现。
答案 0 :(得分:5)