파이어베이스
-
파이어스토어 해당 값이 있는지 없는지 확인파이어베이스 2021. 11. 5. 20:18
좋아요 기능이나 기타 여러가지 검증작업시, 해당 값이 있나 없나 파악해야 할 때가 있습니다. 다른 방법도 있겠지만.. 저같은경우 기본 콜렉션 밑에 서브 콜렉션으로 검증이 필요한 도큐먼트를 입력하게하여 구현했습니다. //게시글에 좋아요를 클릭한 사용자의 아이디값을 입력 Future addPostLikeUser(String? postUid, String? userId, var ref) { return ref .collection('likeUser') .doc(userId) .set({'userId': authBloc.currentUserId, 'postUid': postUid}); } //좋아요 한적 있는지 체크 Future ifExistLike(String? postUid, String userId) { ..
-
파이어베이스 도큐먼트 id 자동생성파이어베이스 2021. 11. 3. 15:01
파이어스토어에서 문서의 유니크id를 얻으려면 String docsUid = await _db .collection('posts') .add(post.toMap() as Map) .then((docs) => _db.collection('posts').doc(docs.id).id); 이런식으로 문서를 insert후에 해당 문서의 id값을 가져와도 되지만, 어떠한 이유로 문서 add가 되지 않을시, 해당 문서id를 가져올 수가 없고, 그문서와 문서id에 영향받게되는 일련의 작업들이 있다면 오류를 발생시킬 수있으므로 좋은 방법이 아니다. 때문에 미리 지정된 id를 사용하는게 좋고, 그래야 쓰기과정부터 batch 작업단위에 포함시킬 수 있다. 입력하기 전에 미리 생성할 수도 있다. DocumentReference..