web-dev-qa-db-ja.com

コレクションまたはサブコレクションが存在するかどうかを確認できますか?

Nodejsのサブストアがfirestoreに存在するかどうかを確認する方法はありますか?

現在、ドキュメントにdoc.existsを使用していますが、データを書き込むかしないかのために、ドキュメント内にサブコレクションが存在するかどうかを確認する必要があります。

12
Ahsath

はいあります。 docs.lengthを使用して、サブコレクションが存在するかどうかを知ることができます。

私はあなたを導くためにサンプルを作りました、それが役立つことを願っています。

 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');
          }
        });
    }
  });

マテウスの答えは私を助けませんでした。おそらくそれは時間の経過とともに変更されました。

.collection(..).get()は、プロパティsizeを持つ QuerySnapshot を返します。

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