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

180
Vistas
¿Cómo sabría si se necesita el argumento "err" en la devolución de llamada?

Soy un principiante en mongodb y javascript.

Aquí tengo un código para el método de búsqueda simple en Mongodb Nodejs. Este código no funciona.

La solución es cambiar la última línea a esto: cursor.limit(10).toArray((err, docs) => console.log(docs)); .

Lo que no entiendo es por qué necesito incluir el argumento err aquí. Aquí está la documentación para el método toArray . No dice aquí que se necesita el parámetro err . ¿Cómo sabría que se necesita el argumento err aquí o en otros métodos?

¡Muchos gracias! Creo que este es un concepto muy básico y agradeceré cualquier aporte.

 const client = new MongoClient(uri); client.connect() .then(() => { const db = client.db('sample_mflix'); const coll = db.collection('movies'); const cursor = coll.find(); cursor.limit(10).toArray((docs) => console.log(docs)); })

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

En la documentación que vinculó, podemos ver que FindCursor.toArray tiene dos permutaciones de sintaxis válidas:

  1. toArray(): Promise<TSchema[]>
  2. toArray(callback: Callback<TSchema[]>): void

Dado que está utilizando el segundo, debemos consultar la documentación de Callback . Dice que solo hay una sintaxis válida:

  1. Callback<T>: (error?: AnyError, result?: T) => void

Debe incluir el parámetro de error para tener una devolución de Callback válida y debe tener una devolución de Callback válida para usar la toArray(:Callback) .


La forma habitual de transmitir que no le importa el valor de un parámetro es utilizar un guión bajo ( _ ) como nombre del parámetro.

 const client = new MongoClient(uri); client.connect() .then(() => { const db = client.db('sample_mflix'); const coll = db.collection('movies'); const cursor = coll.find(); cursor.limit(10).toArray((_, docs) => { console.log(docs); }); })

Si quisiera usar la primera permutación (que devuelve una Promise ), se vería de la siguiente manera. Así es como ya está manejando MongoClient.connect .

 const client = new MongoClient(uri); client.connect() .then(() => { const db = client.db('sample_mflix'); const coll = db.collection('movies'); const cursor = coll.find(); cursor.limit(10).toArray() .then(docs => { console.log(docs); }); })
about 4 years ago · Juan Pablo Isaza Denunciar

0

en realidad, los documentos dicen que debe pasar una devolución de llamada. ¿Ha comprobado qué argumentos toma esa devolución de llamada? sí, es error y resultado.

 toArray(callback: Callback<TSchema[]>): void Callback<T>: (error?: AnyError, result?: T) => void
about 4 years ago · Juan Pablo Isaza 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