Ответ 1
Kernel.length/1 вернет размер списка:
length([1,2,3]) #3
Вы можете сделать это из запроса Ecto, используя:
query = from d in Device, where: d.uuid == ^uuid, select: fragment("count(?)", d.id)
assert Repo.all(query)== 3
В Ecto 2 вы можете использовать Repo.aggregate/4
query = from d in Device, where: d.uuid == ^uuid)
assert Repo.aggregate(query, :count, :id) == 3