firebase firestore에 일대 다 관계를 저장하고 싶습니다. 저자가 있고이 저자의 책이 있다고 가정 해 봅시다.firestore로 안전한 REST와 유사한 API 만들기
author/
authorId1 : {
books: [{...}, {...}]
}
그러나 나는 또한 바람직하게는 (AFAIK이 필요했다 실시간 DB에) 모든 저자를 반복하지 않고, 모든 책을 나열하는 방법이 필요합니다, 그래서 내가 가정하자 : 나는 중첩 된 관계를 저장할 수 해야합니까
author/
authorId1 : {
books: [bookId1, bookId2]
}
books/
bookId1: {...}
bookId2: {...}
보안 및 성능상의 이유로 나는 프론트 엔드를 필터링하지 않을 것입니다.
const bookRef = fireStore.collection('books');
debtorsRef.where('author', '==', authorId).then(...);
이 잘하면 성능 문제를 제거하지만 클라이언트에서 다른 저자의 책을 가져올 수있을 것 이후로는 안전하지 : 나는 쿼리를 작성하는 것이 가능하다는 것을 발견했다. 게다가 필자는 저자의 문서에 관계를 저장하고 다른 방법으로는 저장하지 않을 것이다.
Django Rest Framework와 같은 편안한 API에서 주어진 사용자에게 속한 책만 반환하도록 쿼리를 제한 할 수 있습니다. IIUC는 IAM으로 가능하지만 예제를 기반으로 저는 어떻게 확신이 들지 않습니다.
다시 말해, 해당 id가 저자의 books 속성에 나열된 경우에만 책을 반환하고 싶습니다. 한 권의 책은 이론적으로 여러 저자에게 속할 수 있습니다.
나는 이것이 중복되어 많은 사람들이이 문제를 안고 있다고 생각하지만,이 특정 사례에 대한 명확한 답을 찾을 수 없었습니다.
잘 이해하면 현재 저자가 bookId를 가지고 있는지 확인할 방법이 없습니다. 각 도서가 여러 사용자에게 속할 수있는 다 대일 관계를 어떻게 표현 하시겠습니까? – fodma1
이 정보를 포함하도록 답변을 업데이트했습니다. –