2017-11-28 12 views
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 : 하위 수집이 있는지 확인하는 가장 좋은 방법은 무엇입니까?

  1. 문서를 제거하십시오.
  2. subcollections가있는 경우 제거하십시오. 내가 "Channel 1"을 제거하면

는 예를 들어, 또한 모든 하위 컬렉션 (membersmessages)를 제거 할 필요가있다.

전체 프로젝트에서 공통 제공자를 으로 만들고 싶기 때문에 이름을 알지 못한다고 가정 해 봅시다. 다른 경우 수동으로 사용할 수 있습니다. batch operations

+2

당신이 뭔가를 결정 했습니까? 매우 비슷한 것을 할 필요가 있습니다. 컬렉션을 삭제하고이 컬렉션에 다른 하위 컬렉션이 있는지 확인하여 재귀를 사용하고 모든 것을 삭제할 수 있는지 확인해야합니다. –

+0

나는 아직 수 없었다. – sdey0081

답변

0

재귀 삭제는 클라이언트 라이브러리에 내장되어 있지 않습니다. 재귀 적으로 문서를 삭제해야하고 모든 하위 컬렉션이 필요하면 Firebase console 또는 Firebase cli을 사용할 수 있습니다.

관련 문제