所以我有这个功能。 InscripcionesDB是classesID的列表,而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匹配,但是输出始终为false。我在做什么错?这是输出:
5d959aa70d3ee404889d2b26 CLASSESID
5d82e4dc5770f32b50246657 CLASSID
false
5d959abc0d3ee404889d2b28 CLASSESID
5d82e4dc5770f32b50246657 CLASSID
false
5d82e4dc5770f32b50246657 CLASSESID // THIS ONE IS MATCHING
5d82e4dc5770f32b50246657 CLASSID //
false
答案 0 :(得分:0)
您正在控制台记录以下内容:console.log(clasedb._id, 'CLASSID');
,但您正在比较此:inscripcionesDB[i]._id == claseDB._id
请尝试比较inscripcionesDB[i]._id == clasedb._id
,但也请尝试控制台记录出什么是claseDB
,因为我认为这是您真正感兴趣的是比较。您可能还希望将console.log('false')
放在else块中,因为按原样,它将始终记录为false。