session.run(加载 CSV)个问题

session.run(LOAD CSV) issues

当使用 LOAD CSV 函数和 session.run() 执行Neo4J 中的密码语句它没有 return 任何东西。已尝试删除 LOAD CSV,它在创建节点时工作得很好。

这是代码:

import { neo4jgraphql } from "neo4j-graphql-js";
import fs from "fs";
import path from "path";
const {createWriteStream} = require("fs");
const {GraphQLUpload} = require("apollo-server");
import {session} from "./index.js"

/*
 * Check for GRAPHQL_SCHEMA environment variable to specify schema file
 * fallback to schema.graphql if GRAPHQL_SCHEMA environment variable is not set
 */
const files = [];
export const typeDefs = fs
  .readFileSync(
    process.env.GRAPHQL_SCHEMA || path.join(__dirname, "schema.graphql")
  )
  .toString("utf-8");

export const resolvers = {
//  Upload: GraphQLUpload,
  Query: {
    files: () => files
  },
  Mutation: {
    uploadFile: async (_, {file}) => {
      const {createReadStream, filename } = await file;

      await new Promise(res =>
        createReadStream()
          .pipe(createWriteStream(path.join(__dirname, "./uploads", filename)))
          .on("close", res)
        );
        session.run("LOAD CSV WITH HEADERS FROM 'file:///Connections.csv' AS csvLine CREATE(n)"); // This does not work with the LOAD CSV (Works with only CREATE(n))
        return true;
    }
  }
};

该 LOAD CSV 命令只会每行调用一次 CREATE (n),这将创建一个没有标签或属性的节点。尝试将其更改为类似 CREATE (n:CsvNode) SET n.prop_1 = csvLine.header1 的内容(其中 header1 是 CSV 中的 headers 之一)并查看是否创建了标记为 :CsvNode 的节点。