Sequelize getting all fields from join table when requesting joined model

66 kali dilihat
Langsung ke pesan pertama yang belum dibaca

joehe...@gmail.com

belum dibaca,
7 Feb 2016, 23.16.4607/02/16
kepadaSequelize
Hi,

I have two models, Food and Nutrient. They're connected through a model FoodNutrient which stores additional columns relevant to each pair. When I do Food.getNutrients() though, I can see sequelize is selecting all the Nutrient data, but also every column from the join table (of which there are many). These are columns which I don't need.

I don't know much about db design, so I'm wondering if this is necessary? Or is it a bug I should file on github? The intended functionality works 100%, but I'm worried that this could slow down my queries.

Here's the select query Sequelize is making:

SELECT "Nutrient"."Nutr_No", "Nutrient"."Units", "Nutrient"."Tagname", "Nutrient"."NutrDesc", "Nutrient"."Num_Dec", "Nutrient"."SR_Order", "FoodNutrient"."NDB_No" AS "FoodNutrient.NDB_No", "FoodNutrient"."Nutr_No" AS "FoodNutrient.Nutr_No", "FoodNutrient"."Nutr_Val" AS "FoodNutrient.Nutr_Val", "FoodNutrient"."Num_Data_Pts" AS "FoodNutrient.Num_Data_Pts", "FoodNutrient"."Std_Error" AS "FoodNutrient.Std_Error", "FoodNutrient"."Src_Cd" AS "FoodNutrient.Src_Cd", "FoodNutrient"."Deriv_Cd" AS "FoodNutrient.Deriv_Cd", "FoodNutrient"."Ref_NDB_No" AS "FoodNutrient.Ref_NDB_No", "FoodNutrient"."Add_Nutr_Mark" AS "FoodNutrient.Add_Nutr_Mark", "FoodNutrient"."Num_Studies" AS "FoodNutrient.Num_Studies", "FoodNutrient"."Min" AS "FoodNutrient.Min", "FoodNutrient"."Max" AS "FoodNutrient.Max", "FoodNutrient"."DF" AS "FoodNutrient.DF", "FoodNutrient"."Low_EB" AS "FoodNutrient.Low_EB", "FoodNutrient"."Up_EB" AS "FoodNutrient.Up_EB", "FoodNutrient"."Stat_Cmt" AS "FoodNutrient.Stat_Cmt", "FoodNutrient"."AddMOd_Date" AS "FoodNutrient.AddMOd_Date" FROM "Nutrients" AS "Nutrient" INNER JOIN "FoodNutrients" AS "FoodNutrient" ON "Nutrient"."Nutr_No" = "FoodNutrient"."Nutr_No" AND "FoodNutrient"."NDB_No" = '01088';


Thanks,

Joe

Mick Hansen

belum dibaca,
9 Feb 2016, 05.19.1809/02/16
kepadajoehe...@gmail.com, Sequelize
That's as expected, you can use through: {attributes: []} to disable
--
Mick Hansen
@mhansendev
mhansen.io

Joe Henry

belum dibaca,
9 Feb 2016, 21.53.2209/02/16
kepadaMick Hansen, Sequelize
Cool, thanks Mick.
Balas ke semua
Balas ke penulis
Teruskan
0 pesan baru