簡體   English   中英

如何獲取 Firestore 中的所有用戶,除了用戶文檔中的塊數組列表中的用戶?

[英]How to get all users in Firestore except those in block array list inside user document?

我正在創建一個使用 Firebas Firestore 作為數據庫的應用程序。 在我的應用程序中,用戶可以阻止其他用戶將他們排除在下一個查詢之外。

我應該使用哪種數據庫結構來執行 Firestore 查詢?

當您阻止某人時,用戶 ID 將存儲在您的用戶文檔中的數組中。 Firestore 查詢僅提供“數組包含”運算符以根據數組值進行過濾。 所以我需要查詢“array-NOT-contains”,但 Firestore 沒有提供。

數據庫結構

users: {
   user1:{
      name: "Lorem Ipsum"
      blockedUsersId: [
         0: user1,
         1: user2]
           }
         }

所以我需要查詢“array-NOT-contains”

對於數組中沒有特定值的文檔,您無法針對 Firestore 集合執行查詢。 沒有“數組不包含”運算符。 為什么? 因為 Firestore 中的查詢基於存在的索引,而不是基於不存在的索引。 想象一下,您有一個包含十億個文檔的集合,並且您想要搜索數組中不存在的某個值。 這意味着 Firestore 需要檢查所有文檔才能提供結果。 檢查如此大量的文檔不會擴展,因此沒有“array-not-contains”運算符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM