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

190
Vistas
Error al intentar buscar registros que coincidan con los criterios con MongoDB

Estoy tomando un curso de capacitación, en Udemy, y ya tenía un código backend escrito, ya que el curso es puramente sobre desarrollo frontend. Utiliza una base de datos MongoDB muy simple que creé. Determiné que MongoDB versión 4.0.10 está instalado en mi computadora, en caso de que sea relevante. Al intentar realizar una consulta de registros coincidentes, aparece el siguiente error:

UnhandledPromiseRejectionWarning: MongoError: los nombres de campo de FieldPath pueden no comenzar con '$'. en MessageStream.messageHandler (I:\DEV\Training\React For the Rest of Us\backend-api\node_modules\mongodb\lib\cmap\connection.js:268:20) en MessageStream.emit (events.js:315: 20) en processIncomingData (I:\DEV\Training\React For the Rest of Us\backend-api\node_modules\mongodb\lib\cmap\message_stream.js:144:12) en MessageStream._write (I:\DEV\Training \React For the Rest of Us\backend-api\node_modules\mongodb\lib\cmap\message_stream.js:42:5) en writeOrBuffer (internal/streams/writable.js:358:12) en MessageStream.Writable.write ( interno/streams/writable.js:303:10)
en TLSSocket.ondata (interno/streams/readable.js:719:22) en TLSSocket.emit (events.js:315:20) en addChunk (internal/streams/readable.js:309:12) en readableAddChunk (interno/ streams/readable.js:284:9) (nodo:51960) UnhandledPromiseRejectionWarning: Rechazo de promesa no controlado. Este error se originó al lanzar dentro de una función asíncrona sin un bloque catch o al rechazar una promesa que no se manejó con .catch(). Para finalizar el proceso del nodo en caso de rechazo de la promesa no controlada, utilice la marca CLI --unhandled-rejections=strict (consulte https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode ). (ID de rechazo: 2) Después de buscar en el código de back-end, encontré el siguiente código que se usa para realizar la consulta/búsqueda, y noté que hay símbolos $ en varios lugares.

 Post.search = function(searchTerm) { return new Promise(async (resolve, reject) => { if (typeof(searchTerm) == "string") { let posts = await Post.reusablePostQuery([ {$match: {$text: {$search: searchTerm}}}, {$sort: {score: {$meta: "textScore"}}} ]) resolve(posts) } else { reject() } }) }

¿Qué es exactamente lo que está mal y cómo lo soluciono?

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

0

Idéntico error aquí. Buscar desde reaccionar usando axios en la aplicación principal, muy simple (se supone que debe ser). Es indicativo de que, en mi caso, cuando intento buscar "abrir modo de búsqueda" desde reaccionar, el servidor mongodb se bloquea con el error mencionado:
f:\PrgsReact\SimplePost\backend-api\node_modules\mongodb\lib\cmap\connection.js:268 callback(nuevo MongoError(documento));
MongoError: los nombres de campo de FieldPath pueden no comenzar con '$'.
etc..
Intenté cambiar la versión npm de mongodb y axios, entre otras cosas. Gracias.

over 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