GOOGLE ADS

sábado, 16 de abril de 2022

getMany de un repositorio TypeORM en lugar de uno solo

Tengo este código que obtiene un solo libro del repositorio de TypeORM y funciona bien.

public async getBook(name: string) {
const contraceptive = this.bookRepository.findOne({
where: [{ name: name }],
});
return book;
}

Sin embargo, quiero implementar algún tipo de GetManyBooks donde tomo una lista de nombres como cadenas que usan la palabra clave find en lugar de findone y la devuelven. Pensé que sería similar, pero tengo problemas para encontrar documentación en línea sobre esto.

public async getManyBooks(name: string[]) {
const book = this.bookRepository.find({
where: [{ name: name }],
});
return book;
}

¿Hay una mejor manera en que debería abordar este problema?


Solución del problema

Puede utilizar el inoperador proporcionado por typeorm. Aquí están los documentos

También le recomiendo que no use asyncya que no usa awaity en su lugar simplemente devuelva la promesa. Esto le dará un Promise<Book[]>.


import { In } from "typeorm";
// docs example
const loadedPosts = await connection.getRepository(Post).find({
title: In(["About #2", "About #3"]),
});
// In your case
public getManyBooks(name: string[]) {
return this.bookRepository.find({
where: {name: In(name)},
});
}

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...