2016-08-09 1 views
0

현재 Matlab 프로그램 용 웹 프론트 엔드를 만들고 있습니다. 파이어base 리얼 타임 데이터베이스와 인터페이스하기 위해 webread/webwrite를 사용하고 있습니다 (호환성 이유로 곧 urlread2로 바뀌 겠지만). Matlab 끝은 정기적으로 데이터베이스에서 노드를 삭제해야합니다. 나는 webwrite를 사용하여 POST 요청을 보내고 헤더에 "X-HTTP-Method-Override : DELETE"를 넣어서이 작업을 수행합니다. 이 작동하지만 몇 가지 삭제 한 후에 데이터가 데이터베이스에 추가되거나 데이터베이스에서 제거 될 때까지 작동을 멈 춥니 다. 그것은 완전히 무작위로 보인다, 나의 팀원과 나는 며칠 동안 패턴을 찾으려고 노력했고 우리는 아무것도 찾지 못했다. URL이 우리의 데이터베이스 URL 및 modkey입니다Firebase REST API : 때때로 삭제가 실패합니다.

modurl = strcat(url, modkey, '.json'); 
modurlstr = char(modurl); 
webop = weboptions('KeyName', 'X-HTTP-Method-Override', 'KeyValue','DELETE'); 
webwrite(modurlstr, webop); 

우리가 삭제하려는 노드의 열쇠입니다 : 여기

는 관련 MATLAB 코드입니다. 데이터베이스가 공개로 설정되어 있으므로 인증이 없습니다 (보안은 우리에게 문제가되지 않습니다).

데이터베이스는 매우 간단하게 구성되어 있습니다. 루트 노드에는 여러 개의 자식이 있습니다. 전체 아동만을 삭제합니다 (즉, 아동의 개별 구성 요소를 삭제하려고 시도하지 않음).

뭐가 잘못 되었나요?

미리 감사드립니다.

답변

1

키의 일부가 ASCII 문자로 변환되어 하이픈을 포함하고 있음을 발견했습니다. 무작위로 보였던 이유는 키에 하이픈이있는 노드에서만 삭제가 발생했기 때문입니다. 우리가 그들을 바꿀 때 모든 것이 잘 돌아갔습니다.