Falcor 查询中的多重嵌套

Posted

技术标签:

【中文标题】Falcor 查询中的多重嵌套【英文标题】:Multiple nesting in Falcor query 【发布时间】:2017-04-16 06:40:03 【问题描述】:

我正在尝试使用 Falcor 查询多个嵌套对象。我有一个user,它除了具有follower 之外的值,它本身具有name 之类的属性。

我想查询user和前10个follower的名字。

我的 Falcor 服务器端可以在 GitHub 上看到,还有我的 router 和 resolver。

我使用user["KordonDev"]["name", "stars"] 查询用户。以及user["KordonDev"].follower[0.10]["name", "stars"] 的关注者。

follower 的路由是user[keys:logins].follower[integers:indexes],但这并没有捕捉到以下查询。

我尝试将其添加为字符串查询。 user["KordonDev"]["name", "stars", "follower[0..10].name"] 不起作用。

第二次尝试是使用键数组进行查询。 ["user", "KordonDev", "follower", "from":0, "to":10, "name"] 但是这里不知道怎么查询用户名。

【问题讨论】:

【参考方案1】:

据我所知并查看path parser。没有办法进行嵌套查询。

你要做的是batch查询并做两个查询。

user["KordonDev"]["name", "stars"]
user["KordonDev"]["follower"][0..10].name

falcor 似乎不支持这一点,甚至有点old issue 讨论人们如何尝试进行嵌套查询。

关于导致人们尝试这个的当前语法:

['lolomo', 0, 0, ['summary', ['item', 'summary']]]]

我可以看到人们试图用新语法做同样的事情:

“lolomo[0][0]['summary', 'item.summary']”

一旦他们知道他们可以做到:

"lolomo[0][0]['总结', '证据']"

因此,深层嵌套查询似乎不是一种功能。

【讨论】:

以上是关于Falcor 查询中的多重嵌套的主要内容,如果未能解决你的问题,请参考以下文章

ElementUI多重条件嵌套条件查询

sql多重查询的嵌套语句

具有多重嵌套表的分组方式和计数作为 LINQ 查询

吐血整理mysql子查询多重嵌套

如何按嵌套多重集中的值排序?

使用 falcor-router 引用减少 SQL 查询的数量