下面的代码显示了使用节点 js 从图形数据库中提取数据。数据提取得很好,但是当我使用过滤器(在哪里)时,它给出了空结果
Posted
技术标签:
【中文标题】下面的代码显示了使用节点 js 从图形数据库中提取数据。数据提取得很好,但是当我使用过滤器(在哪里)时,它给出了空结果【英文标题】:The code below shows the extracting data from graph db using node js. the data is extracting fine but when I use filter (where) it gives empty result 【发布时间】:2022-01-03 19:12:59 【问题描述】: g.v()
.has('label','Event')
.not(has('active',false)).as('Event').order().by('createdTimestamp', decr)
.project('label','event', 'user')
.by(constant('Livestream'))
.by(
__.select('Event')
.project('id', 'label', 'name', 'cover', 'description', 'allowComments', 'active', 'hashtags', 'partitionValue', 'userId', 'createdTimestamp', 'createdDate')
.by('id').by('label').by('name').by('cover').by('description').by('allowComments')
.by(
coalesce(
values('active'),
constant(true)
)
)
.by('hashtags')
.by('partitionValue').by('userId').by('createdTimestamp').by('createdDate')
)
.by(
__.in('USERcreatedEVENT')
.project('id', 'privacy', 'label', 'email', 'username', 'name', 'displayPic')
.by('id').by('privacy').by('label').by('email').by('username').by('name').by('displayPic')
)
.where(select('privacy').is(eq('PUBLIC')))
这是我需要根据用户隐私过滤的数据的代码。我正在这样做,但它不起作用,你能在这方面帮助我吗?。如果您仍然需要一些信息,请询问我。
【问题讨论】:
【参考方案1】:如果我猜对了,那么您正在尝试过滤in
顶点的privacy
属性等于public
的结果。
我可以告诉你为什么这个查询返回空结果。因为没有设置privacy
标签,而当你写select('privacy')
时,没有这样的标签,因此与不存在的标签进行相等比较会过滤掉所有内容。
你可以试试:
g.V().
has('label', 'Event').
not(has('active', false)).as('Event').
order().by('createdTimestamp', decr).
project('label', 'event', 'user').
by(constant('Livestream')).
by(
select('Event').
project( 'id', 'label', 'name', 'cover', 'description', 'allowComments',
'active', 'hashtags', 'partitionValue', 'userId', 'createdTimestamp',
'createdDate').
by('id'). by('label'). by('name'). by('cover'). by('description').
by('allowComments'). by(coalesce(values('active'), constant(true))).
by('hashtags'). by('partitionValue'). by('userId'). by('createdTimestamp').
by('createdDate')).
by(
in('USERcreatedEVENT').
project( 'id', 'privacy', 'label', 'email', 'username', 'name', 'displayPic').
by('id'). by('privacy'). by('label'). by('email'). by('username').
by('name'). by('displayPic')).
where(select('Event').in('USERcreatedEVENT').has('privacy', 'PUBLIC'))
【讨论】:
以上是关于下面的代码显示了使用节点 js 从图形数据库中提取数据。数据提取得很好,但是当我使用过滤器(在哪里)时,它给出了空结果的主要内容,如果未能解决你的问题,请参考以下文章
无法使用 THREE.js 导入 Blender 2.79 JSON
GraphQL JS 使用 .graphql 文件从节点 js 进行查询
DiagrammeR 和 MathJax 无法正确呈现 rmarkdown 文档中的图形