web-dev-qa-db-fra.com

Est-il possible de vérifier s'il existe une collection ou une sous-collection?

Existe-t-il un moyen de vérifier si une sous-collection existe dans Firestore pour nodejs?

J'utilise actuellement doc.exists pour les documents mais je dois vérifier s'il existe une sous-collection dans un document afin d'écrire des données ou non.

12
Ahsath

Oui il y a. Vous pouvez utiliser docs.length pour savoir si la sous-collection existe.

J'ai fait un échantillon pour vous guider, j'espère que cela vous aidera.

 this.db.collection('users').doc('uid')
  .get().then(
  doc => {
    if (doc.exists) {
      this.db.collection('users').doc('uid').collection('friendsSubcollection').get().
        then(sub => {
          if (sub.docs.length > 0) {
            console.log('subcollection exists');
          }
        });
    }
  });

La réponse de Mateus ne m'a pas aidé. Il a probablement changé au fil du temps.

.collection(..).get() renvoie un QuerySnapshot qui a la propriété size, donc je viens de le faire:

admin.firestore.collection('users').doc('uid').collection('sub-collection').get()
    .then(query => query.size);
14
Eliya Cohen