Was macht firebase-firestore-enterprise-native-mode?
Umfassender Leitfaden für Firestore Enterprise Native Mode, einschließlich Bereitstellung, Datenmodell, Sicherheitsregeln und SDK-Nutzung. Verwenden Sie diese Fähigkeit, wenn der Benutzer Hilfe bei der Einrichtung von Firestore Enterprise mit dem Native Mode, beim Schreiben von Sicherheitsregeln oder bei der Verwendung des Firestore SDK in seiner Anwendung benötigt.
Einführung
Firestore Enterprise Native Mode ist eine serverlose NoSQL-Datenbank, die starke Konsistenz und Echtzeit-Updates bietet. Dieser Leitfaden deckt alle Aspekte der Einrichtung und Verwendung ab.
Bereitstellung (Provisioning)
- Erstellen Sie ein Google Cloud-Projekt:
gcloud projects create [PROJECT_ID] - Aktivieren Sie die Firestore API:
gcloud services enable firestore.googleapis.com - Erstellen Sie eine Firestore-Datenbank im Native Mode:
gcloud firestore databases create --location=[LOCATION]
Datenmodell
Firestore Enterprise organisiert Daten in Sammlungen (collections) und Dokumenten (documents). Jedes Dokument enthält Felder, die Werte verschiedener Typen zugeordnet sind (z.B. Strings, Zahlen, Arrays, Maps).
Beispiel:
/users
/user1
name: "Alice"
age: 30
email: "[email protected]"
Sicherheitsregeln (Security Rules)
Sicherheitsregeln definieren den Zugriff auf Ihre Datenbank. Sie werden in der Firebase-Konsole oder über die CLI konfiguriert.
Grundstruktur:
service cloud.firestore {
match /databases/{database}/documents {
match /{document=**} {
allow read, write: if request.auth != null;
}
}
}
SDK-Nutzung
Das Firestore SDK ist für mehrere Sprachen verfügbar. Hier ein Beispiel mit Node.js:
Installation
npm install firebase-admin
Initialisierung
const admin = require('firebase-admin');
admin.initializeApp({
credential: admin.credential.applicationDefault()
});
const db = admin.firestore();
Lesen und Schreiben von Daten
// Ein Dokument schreiben
await db.collection('users').doc('user1').set({
name: 'Alice',
age: 30
});
// Ein Dokument lesen
const doc = await db.collection('users').doc('user1').get();
if (doc.exists) {
console.log(doc.data());
}