我最近已从Falcor 0.x升级到1.1.0(下一步将是2.x)
根据Falcor migration documentation,在调用model.get
时,引用不再作为json发出。
但是,我想知道在model.get
中管理引用的最佳做法是什么。
这里是一个例子。
具有以下json图:
{
jsonGraph: {
comment: {
123: {
owner: { $type: "ref", value: ["user", "abc"] },
message: "Foo"
}
},
user: {
abc: {
name: "John Doe"
initials: "JD"
}
}
}
}
呼叫model.get
将导致:
const json = await model.get(["comment", "123", ["owner", "message"]);
{
owner: undefined, // 0.x was returning `["user", "abc"]`
message: "John Doe"
}
但是有可能仅获得所有者:
const json = await model.get(["comment", "123", "owner", ["name", "initials"]);
{
name: "John Doe",
initials: "JD"
}
在model.get
中处理引用的建议是什么?
我应该手动获取所有者(如上一个示例吗?)还是应该在ownerId
模型中使用owner
而不是comment
引用?
答案 0 :(得分:0)
&A
可以使用任意数量的model.get
(docs)。因此,将您的第一个pathSets
分成两个并作为单独的参数传递:
pathSet
应该返回
await model.get(
["comment", "123", "message"],
["comment", "123", "owner", ["name", "initials"]]
);
基本约束是,单个pathSet只能包含相同深度的多个路径。因此,不同深度的多个路径只能由多个pathSet表示。