Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

160
Vistas
¿Cómo puedo crear una búsqueda con filtros en Angular/Express/MongoDB?

Estoy tratando de imitar la funcionalidad de la barra lateral derecha de este ejemplo para mi sitio Angular.

¡No sé cómo se llama esto, o incluso cómo hacerlo en la parte delantera o trasera!

Mi suposición:

  1. Cree un formulario con valores provenientes directamente de la base de datos y solo muestre el parámetro deseado (es decir, db.collection.find(consulta, {parámetro: 1}) que se llamará para actualizar cada vez que un usuario modifique el formulario. Además, los resultados también se actualizaría en la selección (tengo más de 100 MB de documentos, devolverlos TODOS sería problemático, ¿cómo puedo limitar la cantidad de documentos devueltos a, digamos, 20 o 50 (entrada del usuario?) y paginarlos (1000 documentos devueltos / 50 por página = 20 'páginas')

  2. Cada entrada que se selecciona, se devolverá un {'campo': valor}, pero no estoy seguro de cómo controlar un valor vacío (es decir, ¿qué pasa si un usuario no elige un tipo de combustible o un rango de transmisión?)

¿Cómo hago para diseñar una característica de este tipo correctamente?

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

1) En su consulta, use la declaración de límite:

 var options = { "limit": 20 } collection.find({}, options).toArray(...);

2) puede validar la entrada vacía del usuario (por ejemplo, con express-validator ):

 req.checkBody('postparam', 'Invalid postparam').notEmpty() req.getValidationResult().then(function(result) { if (!result.isEmpty()) { res.status(400).send('There have been validation errors: ' + util.inspect(result.array())); return; }

y según el resultado, elija el valor predeterminado/pasar error/presentar página de solicitud para el usuario

about 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda