2 votes

Comment commander des données en fonction d'un paramètre dans firestore ?

Je suis confronté à un problème lors du classement des données en fonction d'un paramètre. Voici l'extrait de code.

event_date est un timestamp

 db.collection("abc")   
 .doc("Events")
  .collection("List")     
  .where("event_status", "==", "0")   
     .orderBy("event_date", "desc").get()      
     .then(function (querySnapshot) {-------------------});

Le message d'erreur affiché est le suivant,

Erreur involontaire : Les objets ne sont pas valides en tant que React child (trouvé : Sun Nov 25 2018 17:27:56 GMT+0530 (India Standard Time)). Si vous avez l'intention d'effectuer le rendu d'une collection d'enfants, utilisez plutôt un tableau ou enveloppez l'objet en utilisant createFragment(object) à partir des modules complémentaires React. Vérifiez la méthode de rendu de Table.

2voto

megha Points 148

Par défaut, une requête firebase récupère tous les documents dans l'ordre croissant de l'ID du document. Vous pouvez spécifier l'ordre de tri de vos données à l'aide de la fonction orderBy() .

Dans votre cas .orderBy("event_date", "desc") si vous définissez le champ "event_date" en utilisant firebase serverTimestamp() par exemple : .set({event_date = firebase.firestore.FieldValue.serverTimestamp() }) vous obtiendrez l'erreur ci-dessus. Pour résoudre ce problème, vous pouvez plutôt le définir comme suit new Date() par exemple : .set({event_date = new Date() })

Dans Firebase, firebase.firestore.FieldValue.serverTimestamp() y new Date() les deux aboutiraient à un horodatage

J'espère que cela vous aidera.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X