Я сделал несколько перерывов, и я вижу, что мой оператор if выполняется правильно, но возвращаемые данные не учитывают дополнительное условие where. По сути, если это начальный месяц, я не хочу, чтобы у него была отправная точка, а просто возвращаю тот, который не завершен. После этого я хочу, чтобы он просто откатывался на месяц за один раз.
Я также подтвердил, что мои значения даты верны.
let endDate = moment(date).add(1, 'M').toDate()
var search = fb.ledgersCollection.where('accountId', '==', this.account.id)
.where('completed', '==', false)
.where('date', '<', endDate)
if(date != this.startDate) {
search.where('date', '>', date)
}
search.orderBy('date', 'asc').orderBy('deposit', 'desc').orderBy('name', 'asc').get().then(docs => {
docs.forEach(doc => {
let ledger = doc.data()
ledger.date = new Date(1000* doc.data().date.seconds)
ledger.id = doc.id
this.currentBalance = parseFloat(Number(this.currentBalance) + Number(ledger.amount)).toFixed(2)
ledger.balance = this.currentBalance
this.ledgerItems.push(ledger)
})
})