Estoy tratando de crear un criterio que filtre las entradas en la base de datos, pero no obtengo los resultados adecuados al filtrar el género. (el texto parece funcionar, pero no estoy seguro de si el código admitirá ambos filtros).
Esta es mi función buildCriteria, el registro de la consola devuelve los valores adecuados.
function _buildCriteria(filterBy) { const criteria = {}; const { text, genre } = filterBy; console.log('genre:', genre); if (text) { const txtCriteria = { $regex: text, $options: 'i' }; criteria.name = txtCriteria; } if (genre) { criteria.genre = { $eq: genre }; } return criteria; }Esta es la función de consulta:
async function query(filterBy) { try { const criteria = _buildCriteria(filterBy); const collection = await dbService.getCollection('tab'); const tabs = await collection.find(criteria).toArray(); return tabs; } catch (err) { logger.error('Can not find tabs', err); throw err; } }Agradecería mucho su ayuda!