Mi código es algo inconsistente ya que tengo una matriz de ObjectIds y una matriz de Ids como cadenas.
array1 = [new ObjectId("2"), new ObjectId("3"), new ObjectId("4")] array2 = ["1","4"]Quiero iterar sobre array2 y verificar si el Id está incluido en array1 (usando "incluye", podría hacer un bucle dentro del bucle, pero eso es lo que trato de evitar). Desafortunadamente, "incluye" parece ser sensible al tipo.
array2.map(id => {array1.inclundes(id) && console.log("is included!"})no funciona tan bien como:
array2.map(id => {array1.includes(mongoose.Tyes.ObjectId(id)) && console.log("is included"})que pensé que convertiría la "id" en el Tipo adecuado para la comparación.
Lo que funciona es:
array2.map(id2 => { array1.map(id1 => { if(id1 == id2){ console.log("included") } }) })Si bien lo siguiente tampoco funciona:
array2.map(id2 => { array1.map(id1 => { if(id1 === id2){ console.log("included") } }) }) Así que creo que hay un error relacionado con el tipo incluso si ambos son "Objeto" después de mongoose.Types.ObjectId(id)