Как получить COUNT (*) в Supabase

Я хочу получить количество строк в Supabase.

Я предполагаю, что это будет примерно так:

const { data, error } = await supabase
  .from('cities')
  .select('name', 'COUNT(*)')

Возможно ли это с Supabase?


person dshukertjr    schedule 07.01.2021    source источник


Ответы (3)


Для будущих посетителей мы работаем над этой функцией с сопровождающим PostgREST:

https://github.com/supabase/postgrest-js/issues/94

Сейчас выпущено:

const { data, count } = supabase
  .from('countries')
  .select('*', { count: 'exact' })

(Я сопровождающий)

person kiwicopple    schedule 14.01.2021

В настоящее время он еще не поддерживается, но есть проблема WIP на Github, перенесет эту функцию в Supabase.

Приведенный ниже код еще не реализован в Supabase, но может выглядеть примерно так:

const { data, error, count } = await supabase
    .from('table')
    .select('*')
    .gt('id', 10)
    .count()

Изменить 7.19.2021

Как ответил kiwicopple, эта функция была добавлена ​​в Supabase в несколько иной форме, чем у меня выше. Просмотрите принятый ответ, чтобы узнать больше.

person dshukertjr    schedule 07.01.2021

В качестве обходного пути вы можете написать стандартную хранимую процедуру или функцию Postgres, которая возвращает счетчик, а затем вызывать ее через клиент SB.

https://supabase.io/docs/client/rpc

person Shorn    schedule 07.01.2021
comment
Спасибо! Я забыл про это! - person dshukertjr; 08.01.2021