파이어 스토어는 그리 오래되지 않았기 때문에 일부 시나리오에서는 매우 작은 도움이 있습니다.파이어 스토어 DB에서 두 번째 마지막 레코드 얻기, 자바 스크립트
Firestore에서 두 번째 마지막 레코드를 얻으려고 시도하지만 매우 처음입니다. 내가 잘못 쿼리 알고 : 예를 들어
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
입니다.
어떻게 얻을 수 있습니까 두 번째 마지막 기록?
편집 :
각 레코드는 항상 이전보다 이후에 타임 스탬프를해야합니다 (심지어는 1 분 할 수 있습니다 예를 들어, 이전 27 Jan, 2017 5:20 PM
새로운 27 Jan, 2017 5:21 PM
.)
그리고 paymentData 항상 최신 기록을해야합니다 .
기본적으로 내가 현재 지불 및 이전 지불 두 값을 비교하고 사용자에게 차이점 표시합니다.
Nop Sir, 문서 A를 제공합니다. 'A'''' added_at'은'2017 년 12 월 13 일 17:17에''B's' added_at은'2017 년 10 월 21 일 12:11:54에''C''' added_at은'2017 년 10 월 21 일입니다. 12:09:42 PM에' –
그러나 그들은 타임 스탬프로 중첩 된 자식도 가지고 있습니다. 문제가 있습니까? –
댓글의 순서는 질문의 순서와 반대이므로 정렬 순서를'.orderBy ('added_at', 'asc')'로 변경해야합니다. 또한 중첩 된 자식의 타임 스탬프는 순서가 'added_at' 필드를 기반으로하기 때문에 여기서는 중요하지 않습니다. – Grimthorr