CloudFirestore의 array를 사용해보기
기재할 것
CloudFirestore 필드의 배열 유형 사용 (이번에는 추가)
기재하지 않는 것
Firebase 프로젝트를 만드는 방법
아래 사진과 같이
favorite_dog
라는 배열을 만들고 그 안에 좋아하는 개 이름을 넣어가는 코드를 만든다.main.dart
import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:firebase_core/firebase_core.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Firebaseテスト',
theme: ThemeData(
primarySwatch: Colors.blue,
visualDensity: VisualDensity.adaptivePlatformDensity,
),
home: MyFirestorePage(),
);
}
}
class MyFirestorePage extends StatefulWidget {
@override
_MyFirestorePageState createState() => _MyFirestorePageState();
}
class _MyFirestorePageState extends State<MyFirestorePage> {
//配列に追加する関数を作る。
appendArray() {
DocumentReference ref = FirebaseFirestore.instance
.collection('male')
.doc('h1V6VPae89iMno78IiSP');
ref.update(
{
"favorite_dog": FieldValue.arrayUnion(['犬の名前']),
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
body: Center(
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: <Widget>[
ElevatedButton(
child: Text('登録'),
onPressed: () {
appendArray();
},
),
],
),
),
// This trailing comma makes auto-formatting nicer for build methods.
);
}
}
ref.update(
{
"favorite_dog": FieldValue.arrayUnion(['犬の名前']),
},
)
update는 map 형식으로 씁니다.
시험에 개 이름을 "hachi"로 하고
flutter run
하고 등록 버튼을 누르면,무사히 배열의 [1]에 hachi가 저장되었습니다.
덧붙여 배열에 벌써 있는 요소에 대해서는 중복해 추가는 되지 않습니다.
※참고
htps : // 푹 빠져라. 오, ぇ. 코 m / 드 cs / 푹신 s 잡아 / 마나게 - 다 / 아 d - 다 # # ゔ ぁ_ 10
Reference
이 문제에 관하여(CloudFirestore의 array를 사용해보기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/tatessy/items/3252b5578104c91a0d4e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)