1

我正在使用 neo4j-graphql-js 库从架构中自动生成解析器。对于模式(员工)中的节点,我需要从休息调用中获取特定的节点属性(empid),因为由于隐私问题,我们计划从我们的 neo4j 数据库中删除该属性。我正在尝试为该字段编写自定义解析器。我已将 @neo4j 指令添加到架构中的该字段,以便 neo4j 忽略它。我需要进行一个休息调用,它接受一个名为 uid 的参数并返回相应的 empid。此 iuid 是 Employee 节点的属性,因此存在于我的 neo4j 数据库中。问题是在编写解析器时,根对象仅保存查询中访问的字段值。因此,如果 iuid 不是查询的一部分,我将无法在根 obj 中获取它的值。 这是我的员工节点:-

 type Employee{
 empId: String @neo4j_ignore
 buCode: String
 iuid: String
 name: String
 projectCode: String
 roleCode: String
 grade: String
 mailid: String
 duCode: String
 txtmailid_new: String

这是我的解析器,我在哪里返回一个虚拟字符串而不是进行休息调用:-

    
const resolvers={
   
    Employee: {
        empId: async (obj, params, ctx, resolveInfo) => {
            console.log(obj.iuid);
            var result="dummy_emp_id";
            return result;
        }
    }
};



const schema = makeAugmentedSchema({ typeDefs, resolvers} );
  
const server = new ApolloServer({ schema, context: { driver } });
server.listen(3003, '127.0.0.1').then(({ url }) => {
    console.log(`GraphQL API ready at ${url}`);
  });

这是我的查询:- {

Employee(first : 10)
{
    empId                                                          
    name


}

}

我想访问员工节点的所有字段的所有值,以便获取 iuid。控制台日志返回未定义,因为根对象只有查询的字段。我不知道是否有可能,如果没有,是否有任何解决方法?

4

0 回答 0