Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Neo4j 失去在GrandTack中对自定义查询进行排序/筛选的能力_Neo4j_Graphql_Cypher_Apollo Server_Grandstack - Fatal编程技术网

Neo4j 失去在GrandTack中对自定义查询进行排序/筛选的能力

Neo4j 失去在GrandTack中对自定义查询进行排序/筛选的能力,neo4j,graphql,cypher,apollo-server,grandstack,Neo4j,Graphql,Cypher,Apollo Server,Grandstack,我试图通过隐式过滤某些类型来增强我现有的GRANDstack应用程序。您也可以将其视为访问控制 我有一种叫做住房单元的类型。以前,HousingUnit的查询是通过模式扩展自动创建的。现在我想通过一个模式来限制返回的住房单元。对/graphql的请求将携带一个JWT,其中包含一些信息,这些信息将作为cypherParams(例如userEmail)提供,以识别当前用户。对于HousingUnit(和其他类型),我只想返回用户所在组织创建的类型。HousingUnit查询的解决方案如下所示 Hou

我试图通过隐式过滤某些类型来增强我现有的GRANDstack应用程序。您也可以将其视为访问控制

我有一种叫做住房单元的类型。以前,HousingUnit的查询是通过模式扩展自动创建的。现在我想通过一个模式来限制返回的住房单元。对/graphql的请求将携带一个JWT,其中包含一些信息,这些信息将作为cypherParams(例如userEmail)提供,以识别当前用户。对于HousingUnit(和其他类型),我只想返回用户所在组织创建的类型。HousingUnit查询的解决方案如下所示

HousingUnit:async(父级、信息、上下文、解析信息)=>{
const session=context.driver.session()
const cypher=`MATCH(u:UserAccount),其中u.email=$cypherParams.userEmail MATCH(u)-[:为]->(o:Organization)
与o
匹配(o){
const obj=record.toObject()
控制台日志(obj)
返回obj.housingUnit.properties
})
})
.catch(console.log)
。然后((结果)=>{
session.close()
返回结果
})
返回结果
},
我的问题是,由于我的显式密码查询和返回的结果,我不能由于任何其他过滤或排序

请求

query {
  HousingUnit(orderBy:name_asc) {
    name
  }
}

将产生相同顺序的结果。 此外,我们有很多不同的类型,我希望有一种更简单的方法来实现这一点(可能是中间件或装饰器,重用增强查询)

query {
  HousingUnit(orderBy:name_desc) {
    name
  }
}