ファイアストアはそれほど古くはないので、いくつかのシナリオでは非常に小さな助けがあります。ファイアストアDBから2番目に最後のレコードを取得する、javascript
Firestoreから2番目の最後のレコードを取得しようとしていますが、それは非常に最初になっています。私はそれが間違っているクエリを知っている:例えば
db.collection("batches")
.where('added_at', "<", paymentData.added_at) //Here paymentData is last record
.limit(1).get().then(function(prevSnapshot){
})
私は3つの記録
A. added_at: 1 Jan, 2017
B. added_at: 2 Jan, 2017
C. added_at: 3 Jan, 2017
を持っていると私は今paymentDataにC
を持っていると私は、レコードB
をしたいです。しかしそれは記録A
を得ている。
どうすれば最後の最後のレコード?
EDIT:
各レコードは、常に前のものよりも新しいタイムスタンプを持つことになります(でも、それは1分することができ例えば、前27 Jan, 2017 5:20 PM
と新しい27 Jan, 2017 5:21 PM
。)
そしてpaymentDataは常に最新のレコードを持っています 。
は基本的に私は現在の支払と前回の支払いの2つの値を比較し、それがユーザーとの違いだ表示したいです。
Nop Sir、それは私に文書Aを与えています。 'A's'' added_at'は' 2017年12月13日午後12時13分17秒 '、' B's' added_atは '2017年10月21日12:11:54に' 'C's' added_atは' 2017年10月21日12:09:42 PMに ' –
しかし、彼らも'タイムスタンプ 'と一緒に子を入れ子に入れている、それは問題を作りますか? –
あなたのコメントの順序はあなたの質問と逆です。そのため、ソート順を '.orderBy( 'added_at'、 'asc')'に変更する必要があります。また、ネストされた子のタイムスタンプは、順序が 'added_at'フィールドのみに基づいているので、ここでは重要ではありません。 – Grimthorr