파이어베이스의 꽃인 파이어스토어에 대해 알아보자
document 추가하기
add() - document id가 랜덤한 키를생성
set() - document id의 고유한 이름을 지정할 수 있다.
cloud_firestore를 pub.dev에서 설치하자

Divider(),
ElevatedButton(onPressed: () async{
await FirebaseFirestore.instance.collection("counter").add({
"value" : 10,
"timestamp" : Timestamp.now(),
});
}, child: Text("데이터 쓰기"),),
만약 에러가 나면 아래처럼 minSdkVersion을 수정해라

재시작하고 버튼을 누르면
아래처럼 잘 뜬다

add를 사용해서 랜덤 값이 들어간다.
onPressed: () async {
/*await FirebaseFirestore.instance.collection("counter").add({
"value" : 10,
"timestamp" : Timestamp.now(),
});*/
await FirebaseFirestore.instance
.collection("test")
.doc("flutter")
.set({
"value" : 20,
});
},
set을 사용하면 아래처럼 지정한 값이 온다.

이때 update도 가능하다.
단 update를 하기 위해서는 id를 넣어야 한다.
onPressed: () async {
await FirebaseFirestore.instance.collection("counter").doc(
"7NsulMdt6X0WY8rqRiVK"
).update({
"value" : 11,
"timestamp" : Timestamp.now(),
});
/*await FirebaseFirestore.instance
.collection("test")
.doc("flutter")
.set({
"value" : 20,
});*/
},
이렇게 update를 할 수 있다.
delete도 가능하다.
await FirebaseFirestore.instance.collection("counter").doc(
"7NsulMdt6X0WY8rqRiVK"
).delete();

get을 통해 읽어 올 수 도 있다
Divider(),
ElevatedButton(
onPressed: () async {
final snapshot = await FirebaseFirestore.instance.collection(
"test").get();
for (var element in snapshot.docs) {
print(element.data());
}
},
child: Text("데이터 읽기"),
),
이러면 test에 있는 데이터를 가져올 수 있다.
'Flutter' 카테고리의 다른 글
| firebase - 배달앱(1) 프로젝트 설정 (0) | 2024.07.06 |
|---|---|
| firebase - realtime database (0) | 2024.07.06 |
| firebase - storage (0) | 2024.07.04 |
| firebase- 인증 (0) | 2024.07.02 |
| firebase -cli 실습 (0) | 2024.07.02 |