🕌
Firestoreのcursor
ページングを実装する時のFirestoreのカーソルは、DocumentSnapShoptもしくはフィールドの値になると思いますが
フィールドにユニークな値がない時はDocumentSnapShotにならざるを得ない。
個人的には document_id をキーにすれば話早いと思ってます。
API内で完結するならDocumentSnapShotのままで良いですが、他PFにわたすときは文字列とかにする必要が出てきます
なので他PFに渡すAPIの時は、毎回GetしてDocumentSnapShotを取得しています
if cursor != "" {
var err error
dsnp, err = r.fCli.Collection("xxxxx").Doc(cursor).Get(ctx)
if !dsnp.Exists() {
return []*Xxxxx{}, "", nil
}
if err != nil {
return nil, "", err
}
}
もっといい方法無いんだろうか… document_id をフィールドに含めれば解決しそうだけど冗長な気がする...
Discussion