Firestore가 쿼리에 대해 논리 OR을 지원하지 않는다는 것을 알고 있습니다. 제 생각은 클라이언트에서 여러 개의 쿼리를 만들고 결과를 병합하는 것입니다. 뉴스 앱을 개발 중이고 사용자의 관심 분야 태그 (예 : 기술, 음악 등)가 포함 된 모든 기사를 가져 오려고합니다 일반 사용자는 20 개의 태그를 가지고 있으므로 20 개의 다른 요청을 할 것입니다.복수의 Firestore 쿼리, 단일 약속/콜백
누구나 여러 요청을 연결하고 모든 결과가 도착하면 고유 한 약속을 반환하는 경험이 있습니까?
내가 JS SDK를내 데이터 구조를 사용하고
:
제품 (컬렉션)
-article (document)
--id: 10
--time: 1502144665
--title: "test title"
--text: "test text"
--tags(obj)
---technology: 1502144665,
---politics: 1502144665,
---sports: 1502144665
그래서 나는 다음과 같은 여러 DB 요청을 만들어야합니다.
user.tags = ["technology","politics","sports","architecture","business"];
for (var i = 0; i < user.tags.length; i++) {
db.collection('articles').where(user.tags[i], '>', 0).orderBy(user.tags[i]))
.get()
.then(() => {
// ... push to article array
});)
}
모든 요청이 완료 될 때 약속/콜백을 만드는 방법을 알아 내려고합니다.
Java/Android에서는 어떻게 가능합니까? –