Cloud Firestore 是 Google Firebase 提供的一种 NoSQL 数据库服务,适用于移动和 Web 应用程序。它提供了灵活的数据模型和强大的查询功能。Flutter 是 Google 开发的一个开源 UI 工具包,用于构建跨平台的应用程序。
Cloud Firestore 支持多种数据类型,包括字符串、数字、布尔值、数组和嵌套对象。
适用于需要实时数据同步的应用,如聊天应用、社交网络、实时协作工具等。
在 Flutter 中使用 Cloud Firestore 查询以获取文档ID,可以通过以下步骤实现:
pubspec.yaml
文件中添加 Firebase 和 Firestore 的依赖。dependencies:
flutter:
sdk: flutter
firebase_core: latest_version
cloud_firestore: latest_version
import 'package:firebase_core/firebase_core.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
runApp(MyApp());
}
collection
和 get
方法查询文档ID。import 'package:flutter/material.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
home: Scaffold(
appBar: AppBar(
title: Text('Firestore Query Example'),
),
body: FirestoreQueryExample(),
),
);
}
}
class FirestoreQueryExample extends StatefulWidget {
@override
_FirestoreQueryExampleState createState() => _FirestoreQueryExampleState();
}
class _FirestoreQueryExampleState extends State<FirestoreQueryExample> {
List<String> documentIds = [];
@override
void initState() {
super.initState();
fetchDocumentIds();
}
Future<void> fetchDocumentIds() async {
CollectionReference collectionRef = FirebaseFirestore.instance.collection('your_collection_name');
QuerySnapshot querySnapshot = await collectionRef.get();
querySnapshot.docs.forEach((doc) {
setState(() {
documentIds.add(doc.id);
});
});
}
@override
Widget build(BuildContext context) {
return ListView.builder(
itemCount: documentIds.length,
itemBuilder: (context, index) {
return ListTile(
title: Text(documentIds[index]),
);
},
);
}
}
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
dependencies:
firebase_core: ^2.10.3
cloud_firestore: ^3.1.7
通过以上步骤和示例代码,您可以在 Flutter 应用中使用 Cloud Firestore 查询并获取文档ID。
领取专属 10元无门槛券
手把手带您无忧上云