我在“成分”和“食谱”之间有多对多的关系。我知道我可以使用
添加和删除关系中的对象var Recipe = Parse.Object.extend("Recipe");
var Ingredient = Parse.Object.extend("Ingredient");
var recipe = new Recipe();
var ingredient = new Ingredient();
ingredient.id = "abcDef1234"; //random
var recipe_ingredients = recipe.relation("recipe_ingredients");
recipe_ingredients.add(ingredient);
但这只会增加成分。我如何存储像“数量”这样的字段以及添加的每种成分? (就像数据透视表上的额外属性一样?)
谢谢!
答案 0 :(得分:5)
你不能。这是Parse的很多限制之一。您必须放弃内置关系模型,创建自己的连接表。也就是说,创建一个具有两个指针的新对象类型:第一个,源对象;第二,目标。这形成了这种关系。然后,您可以在此表上添加字段以充当关系的属性。如果需要,可以保留指向最初保持关系的对象的指针,以连接表条目为目标。
当然,一旦你意识到这会使你使用的请求数量增加一倍(每个数据库命中都是"请求"显然),那么你就会开始意识到Parse数据库模型耦合了他们的充电模型可以扩展,也可以用火柴棍建造摩天大楼。