Не возвращает истину, когда значение совпадает - PullRequest
0 голосов
/ 04 октября 2019

Так что у меня есть эта функция. InscripcionesDB - это список classID, а claseDB - это просто classID

async function verificarInscripcion(claseId, username) {

   var inscripcionesDB = await obtenerInscripciones(username);
   var claseDB = await Clase.findOne({ _id: claseId })


   for (let i = 0; i < inscripcionesDB.length; i++) {

       if (inscripcionesDB[i]._id == claseDB._id) {


           console.log(true);

       }

       console.log(false);

       console.log(inscripcionesDB[i]._id, 'CLASSESID');
       console.log(clasedb._id, 'CLASSID');

   }

}


Итак, проблема в том, что существует один elementId, который совпадает, но вывод всегда ложный. Что я делаю неправильно? Это выходы:

5d959aa70d3ee404889d2b26 CLASSESID
5d82e4dc5770f32b50246657 CLASSID
false
5d959abc0d3ee404889d2b28 CLASSESID
5d82e4dc5770f32b50246657 CLASSID
false
5d82e4dc5770f32b50246657 CLASSESID // THIS ONE IS MATCHING
5d82e4dc5770f32b50246657 CLASSID //
false

1 Ответ

0 голосов
/ 04 октября 2019

Вы регистрируете консоль это: console.log(clasedb._id, 'CLASSID');, но вы сравниваете это: inscripcionesDB[i]._id == claseDB._id Попробуйте сравнить inscripcionesDB[i]._id == clasedb._id, но также попробуйте выйти из консоли, что такое claseDB, так как я думаю, что это то, что вы действительно заинтересованы в сравнении,Возможно, вы также захотите, чтобы ваш console.log('false') был в блоке else, потому что он всегда будет записывать false

...