簡體   English   中英

如何在 Firebase 雲文檔的字段中搜索多個值?

[英]How to search for multiple values within a field of Firebase Cloud documents?

所以我試圖在我的 android 移動應用程序中創建一個收藏頁面。 這些產品在他們自己的頂級集合中,結構如下:

{
"Trainers": {
    "trainer1": {
        "brand": "Nike",
        "name": "Air Force 1",
        "colour": "Black"
        "url": ".................."   //FOR IMAGES

    },
    "trainer2": {
        "brand": "Adidas",
        "name": "Yeezy Boost 700",
        "colour": "Black"
        "url": ".................."   
    },
    "trainer3": {
        "brand": "Nike",
        "name": "Air Spiridons",
        "colour": "Cream"
        "url": ".................."   
    }
  }  
 }

然后我將擁有另一個頂級集合,其中包含名為用戶 id 的文檔,后跟一組他們最喜歡的培訓師“姓名”。 但是,為了填充收藏頁面,我需要在用戶收藏文檔中搜索每只鞋的“Trainer”集合。

所以回到我的問題,如果 User1 喜歡“Air Force 1 & Yeezy Boost 700”(或者可能比這更多的產品),是否可以查詢文檔“名稱”字段等於多個值的集合,或者是否有更好的構建收藏夾活動的方法?

是否可以查詢文檔“名稱”字段等於多個值的集合,或者是否有更好的方法來構建收藏夾活動?

當然可以,使用最多可以包含 10 個值的數組。 根據文檔:

同樣,使用 array-contains-any 運算符將同一字段上的最多 10 個 array-contains 子句與邏輯OR組合起來。

因此,在您的情況下,您應該使用以下查詢:

usersRef.whereArrayContainsAny("name", Arrays.asList("Air Force 1", "Yeezy Boost 700"));

暫無
暫無

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

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