GOOGLE ADS

sábado, 23 de abril de 2022

cómo recuperar el valor de un aleteo de firestore donde consulta

Comencé a flutter recientemente e intento recuperar los datos de una consulta que hice usando 'where', pero lo único que obtuve es "Instancia de '_JsonQueryDocumentSnapshot'". Intenté cosas diferentes, pero nada funciona o lo hago mal, este es mi código:

CollectionReference users =
FirebaseFirestore.instance.collection('users');
final documents =
await users.where("username", isEqualTo: "username").get();
documents.docs.forEach((element) {
print(element);
});

También he intentado usar Future pero sin éxito:

class finduser extends StatelessWidget {
final String username;
finduser(this.username);
@override
Widget build(BuildContext context) {
CollectionReference users = FirebaseFirestore.instance.collection('users');
return FutureBuilder(
future: users.where('username', isEqualTo: '${username}').get(),
builder: (BuildContext context, AsyncSnapshot snapshot) {
if (snapshot.hasError) {
print("wrong");
return Text("Something went wrong");
}
if (snapshot.hasData &&!snapshot.data!.exists) {
print("doesnt exist");
return Text("User does not exist");
}
if (snapshot.connectionState == ConnectionState.done) {
Map<String, dynamic> data = snapshot.data! as Map<String, dynamic>;
print(snapshot.data!);
return Text("${data}");
}
return Text("loading");
},
);
}
}

por el momento, todos los nombres de usuario son solo "nombre de usuario"

base de fuego

Gracias por la ayuda


Solución del problema

He buscado mucho pero veo que has escrito bien el código.

Lo único que me vino a la mente es que no inicializaste tu firebase en tu proyecto flutter (deberías hacerlo en cualquier proyecto flutter para poder usar flutter).

enlace del documento:
https://firebase.flutter.dev/docs/overview#initializing-flutterfire

No hay comentarios.:

Publicar un comentario

Flutter: error de rango al acceder a la respuesta JSON

Estoy accediendo a una respuesta JSON con la siguiente estructura. { "fullName": "FirstName LastName", "listings...