[英]How to count Elastic Search documents based on multiple field values with the Java API?
[英]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.