2

私はsailsJSとNeo4Jにかなり慣れていません。私の障害は、参照IDを持つ2つのノード間の関係を作成することです。

私のコードサンプル:

    params.id = 'b8995544-02fc-4148-807f-d9c9f0ebd60f';
    var q = [
        'MATCH (w:word{id:'+ JSON.stringify(params.id)+ '}),(a:audiofiles{wordId:'+JSON.stringify(params.id)+'}) CREATE (w)-[r:HASMANY]->(a) RETURN r' 
    ];
    connections[connection].connection.query(q.join(' '), {}).then(function (result) {
        console.log(result);
        cb(null, result);
        }, function (err) {
        cb(err, null);
        console.log(err);
    });

私の出力は何かです:

     [ 'MATCH (w:word{id:"faedcf89-b323-48f4-9c29-f4396822f83c"}),(a:audiofiles{wordId:"faedcf89-b323-48f4-9c29-f4396822f83c"}) 
    CREATE (w)-[r:HASMANY]->(a) RETURN r' ]

    { columns: [ 'r' ],
 data: [],
   status:
      { httpCode: '200',
        statusCode: '200',
        httpMessage: 'OK',
        httpDescription: 'Request succeeded without error' } }

それでもNeo4Jでリレーションを作成していないので、このフレームワークでデバッグできません。これらの間の関係を作成しない根本的な原因は何ですか。

4

1 に答える 1

1

http-200 が戻ってきたときにどこで問題が発生するのかわかりませんが、これは良いことです。

それが空であることを意味する場合data->新しく作成された関係のプロパティが含まれますが、何もないため、データは含まれません。戻ることもできid(r)ますtype(r)

この場合、ID のどこかにタイプミスがある可能性があります。またはプロパティ名など。MATCH で実際にwordとが見つかった場合は、クエリを手動で実行してみてくださいaudiofiles。(ちなみに、ラベルは通常大文字で、小文字ではありません)

パラメータを使用する必要があります。

params.id = 'b8995544-02fc-4148-807f-d9c9f0ebd60f';
var q = 
    'MATCH (w:word{id:{id}}), (a:audiofiles{wordId:{id}}) CREATE (w)-[r:HASMANY]->(a) RETURN r';
connections[connection].connection.query(q, params).then(function (result) {
    console.log(result);
    cb(null, result);
    }, function (err) {
    cb(err, null);
    console.log(err);
});
于 2015-10-12T12:10:41.453 に答える