1
├── users ----------------------------------------------- collection
│ ├── u1 ---------------------------------------------- document
│ │ ├── displayName: "John Smith"
│ │ ├── email: "public"
│ │ ├── photoURL: "xxx.png"
│ │ │
│ | └── chatChannels -------------------------------- subcollection
│ | └── c1
| | ├── channelId: "c1"
| | ├── joinedAt : 12/12/2017
│ │ ```
|
├── converstations -------------------------------------- collection
│ ├── c1 --------------------------------------------- document
│ | ├── channelName: "Channel 1"
│ | ├── channelType: "public"
│ | ├── channelIcon: "channel.png"
│ | │
│ | ├── members ------------------------------------- subcollection
│ | | ├── u1
│ | | | ├── userId: "u1"
| | | |
| | |
| | ├── messages ------------------------------------ subcollection
│ | ├── m1
│ | ├── from: "u1"
| | ├── message: "hello"
| | ├── timestamp: 12/12/2017 00:09 PM
これは、私がfirestore
で構築しているチャットアプリケーションの構造です。ドキュメントからサブコレクションを削除するだけの問題があります。Firestore:サブコレクションが存在するかどうかを確認する最善の方法は?
- 文書を削除します。
- サブコレクションが存在する場合は、サブコレクションを削除します。たとえば、
私は"Channel 1"
を削除した場合、それはまた、すべてのサブコレクション(members
とmessages
)を削除する必要があります。
私はちょうど プロジェクト全体で共通のプロバイダを作りたいので、私は彼らの名前を知らないとしましょう。それ以外の場合は、手動で作成することもできます。batch operations
あなたは何かを考え出しましたか?非常に似たようなことが必要です。コレクションを削除し、このコレクションに他のサブコレクションがあるかどうかをチェックして、再帰を使用してすべてを削除できるようにしたいと考えています。 –
私はまだできませんでした。 – sdey0081