0

Javascript アプリケーションからパラメーターを作成しようとしています

しかし、次のコードは機能しません:

var input=json_table_definition.replace(/[\n\r]+/g, '');    
  var session = driver.session();
  let results;

  return  session
    .run(':param jsonTable=>$json_table_definition',
        {json_table_definition:input}
    )
    .then(result => {
      session.close();


    })
    .catch(error => {
      session.close();
      results=[];
      throw error;
    });

ブラウザに次のエラーが表示されます。

XXXXX Uncaught (in promise) Neo4jError: Invalid input ':': expected <init> (line 1, column 1 (offset: 0))
":param jsonTable=>$json_table_definition"
 ^ 

json_table_definition パラメーターの値を再確認しましたが問題ありません neo4j からの同じコマンド

4

1 に答える 1

1

:paramは単なる neo4j ブラウザ コマンドであり、Cypher 言語ではありません。

呼び出しは実際にはパラメーターとして渡されるため、実際にはパラメーターを渡す方法を既に知っています。そのパラメーターを使用するには、正当な Cypher クエリを指定するだけです。run()json_table_definition

例 (ランダムな Cypher クエリを使用):

...
.run('MATCH (n:Foo) WHERE n.def = $json_table_definition RETURN n',
    {json_table_definition: input}
)
...
于 2020-05-08T20:30:49.880 に答える