Navigation

    MemFireDB论坛

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups

    小技巧,采用JS查询数据,如何对查询结果进行分页

    MemFireDB新手区
    1
    1
    13
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • M
      MemFireDB Robot last edited by MemFireDB Robot

      要使用JavaScript API 执行分页,您可以使用range和limit方法。

      range以下是如何使用和limit分页查询结果的示例:

      const { data, error } = await supabase
        .from('my_table')
        .select('*')
        .order('created_at', { ascending: false })
        .range(0, 9)
        .limit(10);
      
      if (error) {
        console.log(error);
      } else {
        console.log(data);
      }
      

      在此示例中,我们从中选择所有行my_table,按created_at降序对它们进行排序,并返回从第一行(偏移量 0)开始的前 10 行。要获得下一页结果,我们会将range值更改为(10, 19):

      const { data, error } = await supabase
        .from('my_table')
        .select('*')
        .order('created_at', { ascending: false })
        .range(10, 19)
        .limit(10);
      
      if (error) {
        console.log(error);
      } else {
        console.log(data);
      }
      

      我们可以继续递增这些range值以获得后续页面的结果。

      请注意,该limit方法指定每页返回的行数。您可以调整此值以满足您的需要。

      如果要获取结果集中的总行数,可以使用方法count:

      const { count, error } = await supabase
        .from('my_table')
        .select('*', { count: 'exact' });
      
      if (error) {
        console.log(error);
      } else {
        console.log(count);
      }
      

      这将返回中的总行数my_table。您可以使用此值来计算结果集中的总页数。

      1 Reply Last reply Reply Quote 1
      • First post
        Last post