팔로우/언팔로우 버그
345
3 asked
팔로우/언팔로우에서 [UI분기] 제목으로 올라간 강의에 대한 질문입니다.
.setData({document['email']: true});
이렇게 구현을 하면,
유저A를 팔로우한 상태에서 유저 B를 팔로우하면,
유저 A를 팔로우한다는 정보가 Database 에서 사라집니다.
.setData({document['email']: true});
이게 그냥 덮어쓰는 느낌인것같군요...
이 실험은 A = test@test.com 으로 B = 자기자신
으로 놓고 실험할 수 있습니다.
이 버그를 어떻게 해결할 수 있을까요?
Answer 4
0
예전에 답변 후 추가 질문이 없어서 잘 되는줄 알고 있었습니다.
살펴보니 이전 데이터가 삭제되는 것이 문제네요.
setData() 메서드의 두번째 파라미터로 merge: true 를 다음과 같이 추가해 보시겠어요?
이렇게 하면 user.email 아래에 있는 기존 데이터를 삭제하지 않고 새로운 데이터를 추가하게 됩니다.
제가 이 코드 실행후 구글 로그인이 안되는 현상 때문에 해결이 안되서 확인은 못 해 봤습니다.
혹시 잘 되신다면 답변 달아주시면 완성 코드에 반영과 강의 영상에 부연설명을 추가하는데 도움이 될 것 같습니다.
감사합니다.
// 팔로우
void _follow() {
Firestore.instance
.collection('following')
.document(user.email)
.setData({document['email']: true}, merge: true);
Firestore.instance
.collection('follower')
.document(document['email'])
.setData({user.email: true}, merge: true);
}
// 언팔로우
void _unfollow() {
Firestore.instance
.collection('following')
.document(user.email)
.setData({document['email']: false}, merge: true);
Firestore.instance
.collection('follower')
.document(document['email'])
.setData({user.email: false}, merge: true);
}
0
안녕하세요. 위의 내용으로 팔로우, 언팔로우 문제를 겪고 있습니다.
follower 콜렉션이 만들어지지 않은 상황에서는 updateDAta가 작동하지 않습니다.
처음에 setData나 add로 이메일을 추가하고 난 후 updateData가 작동되어야 할 것 같은데 난감하네요.
혹시나 해서 setData로 콜렉션이 만들어지고 난 후 updateData로 수정하고 동작을 해보니 필드(bool)에서 이메일이
아이디, 도메인, com 이런식으로 나누어 지면서 데이타가 이상하게 들어갑니다.
0
아앗. 버그가 맞네요. 이런 실수를... 죄송합니다.
지금 테스트를 할 수 없어서 확인은 못 해 봤지만, 일단 setDate 대신 updateData로 고쳐보세요.
_follow(), _unfollow() 모두요.
파일 업로드와 완료까지 기다림 부분 질문입니다.
0
377
1
앱 자체 질문이요!
0
293
2
실행 오류 질문
0
324
3
파일이 안떠요..
0
332
2
혹시 Flutter - PHP - Mysql 강의도 해주시면 안될까요 ?
0
324
1
field does not exist within the DocumentSnapshotPlatform 에러 문의
0
975
1
data[document['email'] 사용법 변경 문의 및 following 함수 문의
0
249
1
파이어베이스 연동문제
0
338
2
프로젝트 세팅 에러
0
348
1
firestore 호출 관련 문의 드립니다.
0
270
1
null safety 적용 후 feed_widget.dart 내 widget.document['likedUsers'] 문의드립니다.
0
633
1
image Picker 질문입니다.
0
199
1
flutter로 만든앱을 배포하고 싶은데, 결제시스템 관련 질문이 있습니다.
0
3783
1
firebasestore에서 data를 가져올 때 의문이 있습니다.
0
296
4
setData에 merge: true를 추가해주세요
1
185
0
fire base 설정 중에 sha1 지문을 불러오는 과정에서 오류가 발생합니다.
0
517
1
ios에서 실행
0
157
1
.where 사용법
0
187
2
search_page => detail_post_page 공부 하는도중 Error발생
0
262
1
progressindicator 재질문
0
275
2
DocumentSnapshot과 QuerySnapshot 차이점
0
2627
2
progressindicator 질문
0
255
2
flutter bloc패턴이나 디자인 패턴관련해서 강의계획 혹시 있으세요?
0
318
1
search_page.dart에서 다음과 같은 에러가 나옵니다.
0
624
2

