当使用带有session.run()的LOAD CSV函数在 Neo4J 中执行密码语句时,它不会返回任何内容。已尝试删除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;
}
}
};