간단한 암호 쿼리가 있으며 매개 변수로 수정하고 싶습니다.
MATCH (u:User) WHERE u.email = {searchString} return u ORDER BY {sortField} {sortOrder} SKIP {skipNumber} LIMIT {limitNumber}
이 쿼리를 실행하면 다음 오류가 발생합니다.
Invalid input '{': expected whitespace, comment, '.', node labels, '[', "=~", IN, STARTS, ENDS, CONTAINS, IS, '^', '*', '/', '%', '+', '-', '=', "<>", "!=", '<', '>', "<=", ">=", AND, XOR, OR, DESCENDING, DESC, ASCENDING, ASC, ',', SKIP, LIMIT, LOAD CSV, START, MATCH, UNWIND, MERGE, CREATE, SET, DELETE, REMOVE, FOREACH, WITH, CALL, RETURN, UNION, ';' or end of input (line 1, column 87 (offset: 86)) "MATCH (lc:LeadContact) WHERE lc.email = {searchString} return lc ORDER BY {sortField} {sortOrder} SKIP {skipNumber} LIMIT {limitNumber}"
"{sortField} {sortOrder}"를 제거하고 정적 텍스트 (예 : "ORDER by u.name ASC")를 작성하면 쿼리가 원활하게 실행됩니다.
MATCH (u:User) WHERE u.email = {searchString} return u ORDER BY u.name ASC SKIP {skipNumber} LIMIT {limitNumber}
cypher가 여기서 매개 변수를 허용하지 않는 이유는 무엇입니까? 아니면 내가 뭔가 잘못하고 있습니까?
다른 ORDER BY
나 방향이 다른 쿼리 계획이 필요할 수 있습니다. 현재 쿼리 계획에 영향을 미치지 않는 항목 만 매개 변수화 할 수 있습니다. 동일한 이유로 레이블 및 관계 유형은 매개 변수화 할 수 없습니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다