2017-11-10 5 views
3

Ich habe Probleme beim Generieren einer zufälligen eindeutigen ID mit Cloud Firestore. Zuvor benutzte ich die Realtime-Datenbank und um eine zufällige Zeichenfolge zu generieren, verwende ich die childByAutoID().key.Swift - Eindeutige ID in Cloud Firestore

Gibt es eine Möglichkeit, etwas ähnliches für Cloud Firestore zu tun?

Wie Jay in den Kommentaren sagte dies ist kein Duplikat, wie ich versuche, eine zufällige Zeichenfolge zu generieren, ich versuche nicht, zufällige Dokumente zu bekommen.

+0

Mögliches Duplikat [Firestor: Wie in einer Sammlung zufällige Dokumente bekommen] (https://stackoverflow.com/questions/46798981/firestore-how-to-get-random-documents-in-a- Sammlung) –

+0

@AchrefGassoumi Diese Frage bezieht sich nicht wirklich auf diese Frage. Hier fragt der Benutzer, wie in Firestore zufällige Knotenschlüssel generiert werden. In der Frage, die Sie verknüpft haben, wählt der Benutzer zufällig Knoten aus der Datenbank aus (nichts mit Schlüsseln zu tun). Meine Frage hier - Firestore hat eine ganz andere Einstellung zum Speichern von Daten mit Sammlungen und Dokumenten und erweitert wirklich das Eltern-Kind-Modell, das die Abhängigkeit von zufälligen Knotentasten entfernt. Können Sie einen Anwendungsfall angeben, warum Sie eine zufällige Zeichenfolge benötigen? – Jay

Antwort

3

Wenn Sie das Dokument ohne eine explizite ID erstellen, generiert unser SDK automatisch eine zufällige für Sie.

// Add a new document with a generated id. 
var ref: DocumentReference? = nil 
ref = db.collection("messages").addDocument(data: [ 
    "sender": "<my_senders_id>", 
    "recipient": "<my_recipient_id>", 
    "message": "Hello from Google Cloud Platform & Firebase!", 
    "status": "unread" 
]) { err in 
    if let err = err { 
     print("Error adding document: \(err)") 
    } else { 
     print("Document added with ID: \(ref!.documentID)") 
    } 
} 
+0

Aber wie kann ich es sonst erzeugen, wenn es kein DocumentPath wird? –

+0

Ich folge deiner Frage nicht? Wo sonst wäre es? Remember Cloud Firestore ist als Sammlungen und Dokumente strukturiert (die eigene Sammlungen und Dokumente haben können), nicht als riesiger JSON-Baum. –

+0

Keine Bedenken, die mein Problem gelöst haben, danke! –

Verwandte Themen