Ich mache einen Bulk-Einsatz mit Repository.insert (...) < /code> In TypeOrM und versuche herauszufinden, wie am besten eingefügte Datensätze mit ihren zugehörigen Metadaten für Follow-up-Einfügungen in anderen Tabellen in Verbindung gebracht werden können. Ich pflege auch eine Karte wobei der Schlüssel der Name des Produkts ist, und der Wert enthält alle zugehörigen Daten, die in andere Tabellen eingefügt werden (wie product_tags , product_locations usw.), die von der generierten ProductID . class = "Lang-ts PrettyPrint-Override">
Code: Select all
const productsToInsert = [...productMap.values()].map(entry => entry.product);
const insertResult = await dataSource.getRepository(Product).insert(productsToInsert);
insertResult.generatedMaps.forEach((p, idx) => {
// Trying to get the name to map back to productMap
const productName = p.name; // not available here
const id = p.id;
});
Das
Problem ist, dass generierteMaps nur Spalten enthält, die generiert wurden (z. B. ID ) und nicht Spalten wie Name , die explizit eingestellt wurden. Daher kann ich die eingefügte ID mit dem Originalprodukt mit Namen < /code> nicht zurückverfolgen. Benötigen Sie diese ID für Fremdschlüssel.