Wie aktualisiere ich die Daten in meiner Firebase-Echtzeitdatenbank mit den vorhandenen Daten neben einer zufällig generierten ID?

Edward Bella

Ich sende Daten aus einem Formular an meine Datenbank. Wie ich richtig verstanden habe, erstellt die Verwendung von .push () eine eindeutige ID, an die meine Daten angehängt und hochgeladen werden. Ich muss jetzt die gleichen Daten abrufen und dann einen neuen ID-Eintrag hinzufügen. Ich kann die Daten jedoch nicht referenzieren, da sie unter der eindeutigen ID gespeichert sind, die mit der Methode .push () erstellt wurde.

exports.addUser = functions.https.onRequest(async (req, res) => { //Adds data from the form to the database
  cors(req, res, async () => {
    // Grab the message body parameter.
    const entry = req.body;
    // Push the new message into the Realtime Database using the Firebase Admin SDK.
    const snapshot = await admin.database().ref('entries/users/').push(entry);

    console.log('my new shiny id is ' + snapshot.key());
    // Redirect with 303 SEE OTHER to the URL of the pushed object in the Firebase console.
    res.redirect(303, snapshot.ref.toString());
  })
});

//Function to generate a random ID and update into the entry from the form on the database.
exports.generateID = functions.database.ref('entries/users/').onCreate((snapshot, context) => {
  console.log(snapshot.val());
  const original = snapshot.val();
  console.log(context);
  console.log(snapshot.key());
  const dev = '0eeb94ca-3426-46ca-964d-a9bdd7d00ef0';
  var random = Math.random().toString(36).substring(7);
  const code = uuidv5('user-' + random, dev);
  return snapshot.ref.update({
    userID: code
  });
})

Hier ist ein Bild der Datenstruktur in meiner Echtzeitdatenbank. Datenbankstruktur

Doug Stevenson

Ich denke, Sie wollten in Ihrer Funktion einen Platzhalter verwenden, um diese ID zu erfassen (und auch nur auf diesem neuen Knoten auszulösen):

functions.database.ref('entries/users/{id}').onCreate((snapshot, context) => {

Jetzt können Sie context.params.iddiese ID abrufen und einfacher unter diesen neuen Knoten schreiben.

Dieser Artikel stammt aus dem Internet. Bitte geben Sie beim Nachdruck die Quelle an.

Bei Verstößen wenden Sie sich bitte [email protected] Löschen.

bearbeiten am
0

Lass mich ein paar Worte sagen

0Kommentare
LoginNach der Teilnahme an der Überprüfung

Verwandte Artikel

TOP Liste

  1. 1

    So verschieben Sie ein Bild in Flutter/Dart mit einem Draggable

  2. 2

    Unity Build-Fehler: Der Name 'EditorUtility' ist im aktuellen Kontext nicht vorhanden

  3. 3

    TypeAhead.js zeigt keine Ausgangsschienen an?

  4. 4

    Deklarieren einer nicht initialisierten Variablen in der Klassendefinition in Python

  5. 5

    Wie kann ich eine verschachtelte Schleife mit lapply in R ersetzen?

  6. 6

    spring-data-jpa: ORA-01795: Die maximale Anzahl von Ausdrücken in einer Liste beträgt 1000

  7. 7

    Warum funktioniert Phantomjs nicht mit dieser Site?

  8. 8

    Interpolieren Sie mit Python die 2D-Matrix entlang der Spalten

  9. 9

    numpy: Berechnen Sie die Ableitung der Softmax-Funktion

  10. 10

    Wie vermeide ich, dass die gesamte App neu geladen wird, wenn Nav.Link von React-Bootstrap verwendet wird?

  11. 11

    MongoDB eingebettetes Dokument unterscheiden und filtern

  12. 12

    Aktualisieren des Werts im Json-Objekt in Python

  13. 13

    Warum funktioniert das Umgebungslicht in diesem Beispiel nicht?

  14. 14

    Python gibt einen Fehler aus, dass eine Datei nicht vorhanden ist, wenn dies eindeutig der Fall ist

  15. 15

    Wie verwende ich Format-Table ohne Abschneiden von Werten?

  16. 16

    So berechnen Sie die Verfügbarkeit von Anwendungen (SLA)

  17. 17

    Überprüfen Sie, ob der ausgewählte Wert 'YES' ist, wenn ja, aktivieren Sie ein Steuerelement mit Javascript

  18. 18

    Python: Spalten mit demselben Namen zusammenführen, wobei der Mindestwert beibehalten wird

  19. 19

    Holen Sie sich verwandte Pillen Inhalt mit angeklickten img in Angular

  20. 20

    Eclipse Oxygen - Projekte verschwinden

  21. 21

    Wie aktualisiere ich ein Feld in einer Raumdatenbank mit einem Repository und einem Ansichtsmodell?

heißlabel

Archiv