Firestore – это мощная облачная база данных NoSQL, предоставляемая Firebase, которая широко используется при разработке приложений Flutter. Одна из фундаментальных операций в Firestore — добавление данных в коллекцию. В этой статье мы рассмотрим различные методы использования функции добавления в Firestore с примерами кода во Flutter.
Метод 1: использование карты для добавления данных
Чтобы добавить данные в коллекцию в Firestore, вы можете создать объект Map, представляющий документ, и передать его функции добавления. Вот пример:
import 'package:cloud_firestore/cloud_firestore.dart';
void addData() {
FirebaseFirestore firestore = FirebaseFirestore.instance;
Map<String, dynamic> data = {
'name': 'John Doe',
'email': 'johndoe@example.com',
'age': 25,
};
firestore.collection('users').add(data)
.then((value) => print('Data added successfully!'))
.catchError((error) => print('Failed to add data: $error'));
}
Метод 2: использование пользовательского объекта для добавления данных
Если у вас есть пользовательский объект, определенный в вашем приложении Flutter, вы можете преобразовать его в карту, а затем добавить в Firestore. Вот пример:
import 'package:cloud_firestore/cloud_firestore.dart';
class User {
String name;
String email;
int age;
User(this.name, this.email, this.age);
Map<String, dynamic> toMap() {
return {
'name': name,
'email': email,
'age': age,
};
}
}
void addUser(User user) {
FirebaseFirestore firestore = FirebaseFirestore.instance;
Map<String, dynamic> data = user.toMap();
firestore.collection('users').add(data)
.then((value) => print('User added successfully!'))
.catchError((error) => print('Failed to add user: $error'));
}
Метод 3: использование ссылки на документ для добавления данных
Если вам нужен больший контроль над идентификатором документа, вы можете создать ссылку на документ и использовать функцию set для добавления данных. Вот пример:
import 'package:cloud_firestore/cloud_firestore.dart';
void addDataWithCustomID(String documentID) {
FirebaseFirestore firestore = FirebaseFirestore.instance;
Map<String, dynamic> data = {
'name': 'Jane Doe',
'email': 'janedoe@example.com',
'age': 30,
};
DocumentReference documentReference = firestore.collection('users').doc(documentID);
documentReference.set(data)
.then((value) => print('Data added with custom ID successfully!'))
.catchError((error) => print('Failed to add data with custom ID: $error'));
}
В этой статье мы рассмотрели три различных метода использования функции добавления в Firestore с примерами кода во Flutter. Используя эти методы, вы можете легко добавлять данные в свои коллекции Firestore, используя карту, пользовательский объект или ссылку на документ. Функция добавления Firestore обеспечивает гибкий и эффективный способ выполнения операций с базой данных в вашем приложении Flutter.
Не забывайте правильно обрабатывать ошибки и обеспечивать наличие правильных правил аутентификации и безопасности для защиты ваших данных Firestore. Приятного кодирования!