无法同时获取已过滤的顶点和未过滤的顶点数
Trouble simultaneously fetching filtered vertices and unfiltered vertices count
我正在尝试 return 有限 个匹配模式的顶点,以及总数(非限制) 匹配该模式的顶点数。
g.V()
.hasLabel("PersonPublic")
.has('partitionKey', "Q2r1NaG6KWdScX4RaeZs")
.has('docId', "Q2r1NaG6KWdScX4RaeZs")
.out("CONTACT_LIST")
.out("SUBSCRIBER")
.dedup()
.order()
.by("identifier")
.by("docId")
.fold()
.project('people','total')
.by(
unfold()
.has('docId', gt("23")),
.limit(2)
.project('type','id')
.by(label())
.by(values('docId'))
)
.by(unfold().count())
用简单的英语来说,我正在寻找一个人,找到那个人的所有联系人列表,找到这些联系人列表的所有订阅者,对订阅者进行重复数据删除,对订阅者进行排序,在那里暂停以收集所有内容,然后然后以
的形式投影结果
{
people: [{type: string, id: string}],
total: number,
}
投影的"people"部分展开,过滤后只包含"docId"大于“23”的结果,限制为2,然后再次投影。
投影的"total"部分展开(无限制)计数
我的目标是允许对模式进行分页,同时仍然检索与该模式关联的顶点总数。
不幸的是,这个查询在 cosmosdb 上不起作用。结果的形式为
{
people: {type: string, id: string},
total: number,
}
并且只有第一人称结果是 returned(而不是数组)。
如有任何帮助,我们将不胜感激!
您需要再次 fold()
投影值,否则,它总是会被修剪到第一个。另外,对于 total
你不需要 unfold()
,那只是浪费资源。
g.V()
.hasLabel("PersonPublic")
.has('partitionKey', "Q2r1NaG6KWdScX4RaeZs")
.has('docId', "Q2r1NaG6KWdScX4RaeZs")
.out("CONTACT_LIST")
.out("SUBSCRIBER")
.dedup()
.order()
.by("identifier")
.by("docId")
.fold()
.project('people','total')
.by(
unfold()
.has('docId', gt("23"))
.limit(2)
.project('type','id')
.by(label)
.by('docId')
.fold()
)
.by(count(local))
我正在尝试 return 有限 个匹配模式的顶点,以及总数(非限制) 匹配该模式的顶点数。
g.V()
.hasLabel("PersonPublic")
.has('partitionKey', "Q2r1NaG6KWdScX4RaeZs")
.has('docId', "Q2r1NaG6KWdScX4RaeZs")
.out("CONTACT_LIST")
.out("SUBSCRIBER")
.dedup()
.order()
.by("identifier")
.by("docId")
.fold()
.project('people','total')
.by(
unfold()
.has('docId', gt("23")),
.limit(2)
.project('type','id')
.by(label())
.by(values('docId'))
)
.by(unfold().count())
用简单的英语来说,我正在寻找一个人,找到那个人的所有联系人列表,找到这些联系人列表的所有订阅者,对订阅者进行重复数据删除,对订阅者进行排序,在那里暂停以收集所有内容,然后然后以
的形式投影结果{
people: [{type: string, id: string}],
total: number,
}
投影的"people"部分展开,过滤后只包含"docId"大于“23”的结果,限制为2,然后再次投影。
投影的"total"部分展开(无限制)计数
我的目标是允许对模式进行分页,同时仍然检索与该模式关联的顶点总数。
不幸的是,这个查询在 cosmosdb 上不起作用。结果的形式为
{
people: {type: string, id: string},
total: number,
}
并且只有第一人称结果是 returned(而不是数组)。
如有任何帮助,我们将不胜感激!
您需要再次 fold()
投影值,否则,它总是会被修剪到第一个。另外,对于 total
你不需要 unfold()
,那只是浪费资源。
g.V()
.hasLabel("PersonPublic")
.has('partitionKey', "Q2r1NaG6KWdScX4RaeZs")
.has('docId', "Q2r1NaG6KWdScX4RaeZs")
.out("CONTACT_LIST")
.out("SUBSCRIBER")
.dedup()
.order()
.by("identifier")
.by("docId")
.fold()
.project('people','total')
.by(
unfold()
.has('docId', gt("23"))
.limit(2)
.project('type','id')
.by(label)
.by('docId')
.fold()
)
.by(count(local))