Aggiungere dati specifico utente con flutter

di danielefioretti il
7 risposte

Buonasera sto creando un app annunci e il db collegato è firebase firestore. eseguo l'autenticazione e riesco a leggere i dati utente di ogni specifico utente loggato  (currentUser).  ora la mia domanda è come posso aggiungere altri dati come prodotti per quello specifico utente? questo è il mio codice 

void createNewProduct() async {

    await FirebaseFirestore.instance.collection('User').where(user.uid == currentUser.uid).add({

     'titolo': titolocontroller.text,

     'descrizione': descrizcontroller.text,

    'img': imgcontroller.text,

    'decrizione breve': descrizbrevecontroller.text,

    });

come mi aspettavo mi da errore. il ragionamento che ho fatto è questo: aggiungi alla collezione User dove id utente = currentUser i dati titolo,descrizione …..

dove sbaglio?

grazie

7 Risposte

  • Hai ragione scusami. Mi sottolinea in rosso il metodo add

  • 28/09/2023 - danielefioretti ha scritto:


    Mi sottolinea in rosso il metodo add

    Di nuovo, cosa viene riportato su quel rigo rosso? Quale errore ti da quando compili?

  • Non mi da niente altro. Solo sottolineato rosso. Ma poi chiaramente il debug non si avvia

  • Salve mi sono collegato e mi appare l'errore che dice il metodo add non è definito per un tipo query

  • 29/09/2023 - danielefioretti ha scritto:


    Salve mi sono collegato e mi appare l'errore che dice il metodo add non è definito per un tipo query

    E perché mai una query che serve per ottenere dei dati dovrebbe fornire un metodo per inserirli? Sono due cose distinte.

    Non puoi programmare a tentoni, devi seguire la documentazione.

  • Ciao di nuovo grazie per l'aiuto che mi dai. hai assolutamente ragione, ho cambiato la sintassi ora ho scritto cosi:Firebasefirestore.instance.collection('User).doc(user.email).set({ titolo,descizione…)};

    e in questo modi creo un documento con identificatore email. uso l'email come identificatore perche non riesco a ricevere idUser dal currentUser.

    ora il problema è un altro. come leggerlo? il mio codice è questo: Stream: Firebasefirestore.instance.collection('User).doc(user.email).snapshot(); di seguito il codice per inserire i dati in una card.

    errore di nuovo

    no such methodError:'docs' method not found

    receveir instance of jsondocumentsnapshot, arguments[] see also: http….

    grazie 

Devi accedere o registrarti per scrivere nel forum
7 risposte