#de esta manera me marca ese undefined
1 messages · Page 1 of 1 (latest)
console.log(infoGames[0])
@still narwhal escribe por aquí
Intenta lo siguiente:
const response = infoGames?.filter((e) => e.gate.getTime() === new Date(date).getTime())
esto si funciono 😆
Gracias Amigo por toda la ayuda!!!
porque por milisegundo si funciona?
La comparación era de 2 objetos (de tipo Date), al no ser un valor de tipo primitivo, la comparación (ya sea == o ===), nunca será verdadero (fíjate en la siguiente imagen)
Por esa razón hay que pasarlo a un valor primitivo, con getTime a un valor numérico o también se puede pasar a string (con toString()) para hacer la comparación
entiendo Perfectamente amigo, no se me paso por la cabezo eso, estaré mas atento. esta seria la forma recomendada de hacer las búsquedas? o seria mucho mejor tratar de hacer el filtro directamente desde mongodb?, Nuevamente muchas gracias por tomarte el tiempo en ayudarme
De nada 😄
Lo adecuado es que se haga estos filtros directamente sobre mongodb, ahorrar tiempo de ejecución y performance (no se nota mucho en pocos datos, pero en una alta escala si se notará)
al principio intente hacerlo directamente, pero de igual manera no logre hacerlo 😆 , porque nose como buscar por subdocumentos y que me devuelva solo los subdocumentos, en las búsquedas que intente siempre me devolvía todo el documento junto con todos los subdocumentos
@still narwhal se que tienes que usar aggregate, pero nunca he realizado una consulta como lo planteas, te comparto este link donde realizan algo similar, quizás te sirva: https://stackoverflow.com/a/15117963