我们说我有两张牌桌:Car
和Wheel
。 Car
有很多Wheel
个。 Car
有一个索引字段:Owner
。
现在,如果我想要Wheel
拥有的所有"Foo"
的更改Feed ,那么我似乎必须复制Owner
字段在Wheel
表上,然后每当父Car
发生更改时,我都需要对子Wheel
执行相同的更新 - 但这感觉就像是一个糟糕的解决方案。
我尝试在引用父代的Owner
上添加Wheel
索引函数:
r.table('Wheel').indexCreate("Owner", function(wheel) {
return r.table('Car').get(wheel("CarID"))("Owner")
});
虽然这会返回"Index functions must be deterministic"
。
这样做的最佳方式是什么?
答案 0 :(得分:1)
你是对的;你必须将Owner
放到Wheel
上,否则就把你的轮子放到Car
表中的一个数组中(这可能更常见)。更改源不能包含跨多个表的谓词。