OFFSETを使用せずに特定のドキュメント番号からFirestoreクエリを開始する方法

ダルマラージ:

Firestoreコレクションに名前'users'を付け、各ユーザーの名前で多くのドキュメントを持っています。

アルファベット順で一度に25人のユーザーのリストを取得したいのですが、これを試してみました。

const allUsersRef = admin.firestore().collection('users').orderBy('name').offset(0).limit(25)      
  allUsersRef.get().then((top25Users) => {
    let usersList = '``` << Users LIST >>\n'
    if (!top25Users.empty) {
      top25Users.forEach(eachUser => { 
        usersList = usersList + `\n${eachUser.data().name} \n${eachUser.data().id}`  
      })
      
      console.log(usersList) 
      return 
    } else {
      message.channel.send('Looks like we have no users at the moment!')
      return  
    }
  }).catch((error) => {
    console.log(error)
    return 
  })

これにより、上位25人のユーザーを簡単に取得できます。しかし、次の25が必要な場合はどうなりますか?これはDiscordボットであり、ボタンを追加して(さらにquery.start()表示)、このFirebaseビデオに示すように結果続行できるAndroidアプリケーションではありません

私は使用できますOFFSETが、ユーザーの数が多いためoffset(500)、手頃な価格ではありません: '(

また、ユーザーをアルファベット順にフェッチする必要があります。新しいユーザーが登録すると、順序が変わります。

TL、DR:ユーザーのリストをアルファベット順に並べた場合、ユーザーをリストの126位から150位まで取得するにはどうすればよいですか。さらにオフセットを使用しません。これは、より多くのリソースを使用するためです。

最初にこれをfirebaseリアルタイムデータベースに入れましたが、次にいくつかの高度なクエリが必要だったので、ここに移行しました:)

Database Struture: Just a single collection named USERS and documents named as username in it.

PS:

const startAtRes = await db.collection('cities')
  .orderBy('population')
  .startAt(1000000)
  .get();

Firebase Documentationのこのような^を使用することはできません。どこから始めればよいかわからないためです。新しいユーザーとしてリストが変更されるので、登録してください!

Doug Stevenson:

Firestoreは効率的なオフセットベースのページネーションをサポートしていません。を使用するとoffset()、その時点までのすべてのドキュメントの読み取りに対して料金が発生します。唯一の効率的な改ページを空くで説明したように、ページ間を移動するために、あなたはアンカー文書を提供する必要があり、またはアンカー文書のプロパティを文書化

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

Laravel移行でIDの自動インクリメントを特定の番号から開始させる方法

分類Dev

MongooseJS:クエリから特定のドキュメントを非表示にする

分類Dev

Androidで複合クエリを使用して「Firestore」からドキュメントを取得する方法

分類Dev

golangでクエリ内のIDを使用してFirestore GCPからドキュメントを取得する

分類Dev

UnityでUpdate()関数を使用せずにボタンクリックからメソッドを開始する方法はありますか?

分類Dev

FlutterのFirestoreから単一のドキュメントをクエリする(cloud_firestoreプラグイン)

分類Dev

PythonでFirestoreから特定のドキュメントを一括削除する方法

分類Dev

同じドキュメント番号を共有するドキュメントのコレクションから、Lotusscriptを使用して最後に作成されたドキュメントを特定するにはどうすればよいですか?

分類Dev

特定の日付範囲番号を持つドキュメントを返すようにクエリし、注文してから並べ替えます

分類Dev

コレクションから複数のドキュメントをクエリするFirestore

分類Dev

Cloud Firestore Swift:ドキュメントのクエリを削除する方法

分類Dev

Firestoreクエリは、ドキュメントを読み取らずに結果のサイズを取得しますか?

分類Dev

モデルを参照せずに本文でリクエストのSwaggerドキュメントを作成する

分類Dev

ElasticsearchNestクライアントを使用して_idで特定のドキュメントをクエリする方法

分類Dev

ドキュメントをフェッチせずにFirestoreドキュメントのDocumentReferenceを取得する

分類Dev

ドキュメントをダウンロードせずに、あるRESTAPIから別のRESTAPIにドキュメントを渡す方法

分類Dev

Firestoreでドキュメントのコンテンツを取得せずに、コレクション内のドキュメントIDのリストを取得するにはどうすればよいですか?

分類Dev

別のコンテキストオブジェクトから開始せずにFROMサブクエリを選択します

分類Dev

AndroidアプリからクエリされたFirestore(autoID)ドキュメントにまったく新しいフィールドを追加する方法

分類Dev

クエリに基づいてFirestoreのドキュメントを更新する方法

分類Dev

クエリキャッシュを使用せずにSpring Data JPAクエリメソッドの結果をキャッシュする方法

分類Dev

Cloud Firestoreトランザクションで、ドキュメント名がわからない場合に、特定のコレクションにドキュメントが存在するかどうかを確認する方法

分類Dev

FirestoreからSwiftを使用してコレクションからドキュメントIDを取得する方法

分類Dev

親ドキュメントを空にせずにFirestoreにカスタムパスサブコレクションを追加する方法はありますか?

分類Dev

mysqldbクエリを実行せずにキャッシュメモリからデータを取得する方法

分類Dev

以前のクエリからの情報に基づいてmongoドキュメントをクエリする

分類Dev

渡されたIDに関連付けられたドキュメント番号を取得するためのクエリが機能していません

分類Dev

Excelドキュメントを開かずに更新する

分類Dev

faunaDbクエリからドキュメントIDを取得する方法

Related 関連記事

  1. 1

    Laravel移行でIDの自動インクリメントを特定の番号から開始させる方法

  2. 2

    MongooseJS:クエリから特定のドキュメントを非表示にする

  3. 3

    Androidで複合クエリを使用して「Firestore」からドキュメントを取得する方法

  4. 4

    golangでクエリ内のIDを使用してFirestore GCPからドキュメントを取得する

  5. 5

    UnityでUpdate()関数を使用せずにボタンクリックからメソッドを開始する方法はありますか?

  6. 6

    FlutterのFirestoreから単一のドキュメントをクエリする(cloud_firestoreプラグイン)

  7. 7

    PythonでFirestoreから特定のドキュメントを一括削除する方法

  8. 8

    同じドキュメント番号を共有するドキュメントのコレクションから、Lotusscriptを使用して最後に作成されたドキュメントを特定するにはどうすればよいですか?

  9. 9

    特定の日付範囲番号を持つドキュメントを返すようにクエリし、注文してから並べ替えます

  10. 10

    コレクションから複数のドキュメントをクエリするFirestore

  11. 11

    Cloud Firestore Swift:ドキュメントのクエリを削除する方法

  12. 12

    Firestoreクエリは、ドキュメントを読み取らずに結果のサイズを取得しますか?

  13. 13

    モデルを参照せずに本文でリクエストのSwaggerドキュメントを作成する

  14. 14

    ElasticsearchNestクライアントを使用して_idで特定のドキュメントをクエリする方法

  15. 15

    ドキュメントをフェッチせずにFirestoreドキュメントのDocumentReferenceを取得する

  16. 16

    ドキュメントをダウンロードせずに、あるRESTAPIから別のRESTAPIにドキュメントを渡す方法

  17. 17

    Firestoreでドキュメントのコンテンツを取得せずに、コレクション内のドキュメントIDのリストを取得するにはどうすればよいですか?

  18. 18

    別のコンテキストオブジェクトから開始せずにFROMサブクエリを選択します

  19. 19

    AndroidアプリからクエリされたFirestore(autoID)ドキュメントにまったく新しいフィールドを追加する方法

  20. 20

    クエリに基づいてFirestoreのドキュメントを更新する方法

  21. 21

    クエリキャッシュを使用せずにSpring Data JPAクエリメソッドの結果をキャッシュする方法

  22. 22

    Cloud Firestoreトランザクションで、ドキュメント名がわからない場合に、特定のコレクションにドキュメントが存在するかどうかを確認する方法

  23. 23

    FirestoreからSwiftを使用してコレクションからドキュメントIDを取得する方法

  24. 24

    親ドキュメントを空にせずにFirestoreにカスタムパスサブコレクションを追加する方法はありますか?

  25. 25

    mysqldbクエリを実行せずにキャッシュメモリからデータを取得する方法

  26. 26

    以前のクエリからの情報に基づいてmongoドキュメントをクエリする

  27. 27

    渡されたIDに関連付けられたドキュメント番号を取得するためのクエリが機能していません

  28. 28

    Excelドキュメントを開かずに更新する

  29. 29

    faunaDbクエリからドキュメントIDを取得する方法

ホットタグ

アーカイブ