Firebase 인증과 실시간 데이터베이스를 사용하여 Vue.js를 사용하여 웹 응용 프로그램을 구축하고 있습니다. 이 앱에서 사용자는 몇 가지 포인트를 얻기 위해 질문에 답변합니다.firebase 데이터베이스에서 중첩 된 배열의 값을 업데이트하십시오.
내 문제는입니다 : 내가 기존 배열에 이미 저장되어 해당 사용자의 progress/points
내 응용 프로그램의 모든 구성 요소를 업데이트하는 트랙에서 될 수 있도록 데이터베이스에서 생성을 업데이트 할. 의 내가 스크린 샷에서 강조 표시된 값을 +1
증가하고 싶은 말은하자 예를 들어
:
나는 일반 자바 스크립트와 같은 userid.progress[6][0] += 1
같은 생각했지만, 나는 데이터베이스를 업데이트 할 수 없습니다, 값은 여전히 0
입니다. .set()
또는 .update()
에 대한 내용을 읽었으나이 경우 모든 배열을 다시 써야합니다 (문제가 될 수 있음).하지만 완전히 잘못되었을 수 있습니다.
추 신 : 사용자 ID 나 현재 사용자를 얻는 데 문제가 없습니다. 모든 것이 잘 작동합니다. 나를 도울 사람을 찾고 싶습니다. 미리 감사드립니다!
당신은 그렇게 할 수 없습니다. 처음에'get()'값을 저장하고,'.update()'를 사용하여 증가시킨다. – Hareesh
당신이 달성하고자하는 것이 조금 분명하지 않지만 아래의 몇 가지 가능한 문제에 대한 답을 썼다. 다음 번에 [붙어있는 곳을 재현하는 최소 코드] (http://stackoverflow.com/help/mcve)를 포함 시키십시오. 추측을 통해 많은 추측이 가능하며 신속하게 좋은 도움을 얻을 수있는 가능성이 크게 높아집니다. –
나는 이것에 @FrankvanPuffelen 대답으로 갈 것이다. 하지만 일반적으로 [Arrays Are Evil] (https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html). 요소를 추가하거나 제거 할 때 배열을 읽고 다시 써야하기 때문에 작업하기가 매우 어렵습니다. 또한 직접 쿼리 할 수도 없습니다. 그것들은 실제로 JSON 구조체에 통합되지 않으며 일반적으로 더 나은 옵션이 있습니다. 특정 유스 케이스 (0, 1, 2, 3이 나타내는 것과 같은) 및 아마도 일부 코드로 질문을 업데이트 할 수 있다면 더 완전한 대답을 제공 할 수 있습니다. – Jay