Wpis z mikrobloga

Mireczki dlaczego skoro spełnia się warunek w ifie, to else zostaje wykonany? Za kazdym razem pojawiam mi sie w konsoli tej pytajnik z console.loga.

User.find(query).then(doc => {

doc[0].water.map(el => {

if (el.date === time) {
el.quantity = el.quantity + req.body.waterQuantity;
doc[0].save()
.then(() => {
res.send('added');
})
.catch(() => res.status(404))
} else {
console.log('?')
}
})
});

#programowanie #javascript #mongodb #mongoose #nodejs #express #webdev
  • 4
  • Odpowiedz
@asus1234: A wiesz ile jest iteracji na tablicy doc[0].water? Napisz testy i dowiesz się, gdzie leży błąd, bo nie ma możliwości jednoczesnego wykonania obu bloków warunku.
  • Odpowiedz
@asus1234: odpal sobie debugger, bo nie widzę możliwości żeby był taki bład na poziomie języka. Najprawdopodobniej odpalasz sobie funkcję map na tablicy która ma > 1 element, i jeden się nie lapie po prostu.
  • Odpowiedz