Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

194
Visualizações
¿Qué es un objeto de consulta Mongoose? ¿Es una promesa?

Los modelos Mongoose proporcionan varias funciones auxiliares estáticas para las operaciones CRUD. Cada una de estas funciones devuelve un objeto Query mangosta.

Por ejemplo :

 let query = Model.find();

Esto devuelve un objeto <Query> que se puede encadenar.

 async function() => { let newQuery = query.where("key").equals("value"); let result = await newQuery; }

P1• ¿Qué es exactamente un objeto de consulta devuelto por Model.find() ?

P2• ¿Cómo funciona el encadenamiento?

¿Son los objetos <Query> como promesa ya que estoy usando funciones asincrónicas?

Por favor, vincule cualquier tipo de documentos que puedan solucionar mi problema. Soy relativamente nuevo en esto, así que si mi pregunta no tiene sentido, corríjame :-(

about 4 years ago · Santiago Trujillo
1 Respostas
Responde à pergunta

0

Para preguntas como estas, es mejor consultar las definiciones de TypeScript para el módulo. query.d.ts en particular contiene las respuestas.

P1• ¿Qué es exactamente un objeto de consulta devuelto por Model.find()?

La firma de find tiene el siguiente aspecto:

 find<ResultDoc = HydratedDocument<T, TMethodsAndOverrides, TVirtuals>>( callback?: Callback<ResultDoc[]> | undefined ): QueryWithHelpers<Array<ResultDoc>, ResultDoc, TQueryHelpers, T>;

Entonces, el tipo de retorno es QueryWithHelpers con algunos genéricos, que se resuelve en Query con algunos genéricos. Ahora, para ver su definición, es bastante larga. Es un objeto normal con las siguientes implementaciones:

  • interfaces para llamar a exec() , find() , findOne , etc. Estos son sus métodos de encadenamiento (Q2).
  • Implementa un iterador asíncrono: [Symbol.asyncIterator](): AsyncIterableIterator<DocType>; que te permite usar cosas como for (let .. of ..) en él
  • Implementa una interfaz para que funcione como una promesa: then: Promise<ResultType>['then']; . Esto le permite hacer find(...).then(...) , que es lo mismo que hace la palabra clave await , lo que hace que funcione también.
about 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda