2017-10-11 116 views
5

我在Android中使用新的Cloud Firestore。 所以我在firestore面臨這個問題。 我想查詢一個文檔,它的數組字段中包含一個id。如何在Firestore中查詢包含發送參數的文檔?

例如,我有一個包含整數像這樣的數組中公司的FireStore與現場的文檔: image1

所以,當我有一個id 66940,我可以得到它包含了ID的文檔和其他文件,而無需返回不包含的ID 66940.


除了這個辦法等文件,我還可以使用id(66940)來搜索它在文檔ID。我的文檔ID格式是這樣的:
- 66940_88123
- 12323_66940

的想法是,返回包含66940在他們的身份證件。 我已閱讀有關解決方案here,但我不太瞭解如何實施它。

回答

5

這是一個常見的問題,所以我們發佈了有關如何在雲計算公司的FireStore陣列,而一些文檔: https://firebase.google.com/docs/firestore/solutions/arrays

總之,如果你想查詢陣成員最好是存儲數據的布爾的地圖。

因此,不是這樣的:

{ 
    name: "sam", 
    userGgIds: [12345, 67890] 
} 

你想這樣的:

{ 
    name: "sam", 
    userGgIds: { 
    12345: true, 
    67890: true 
    } 
} 

然後你就可以做到這一點查詢,以搜索包含ID爲 「12345」

db.collection("users").where("userGgIds.12345", "==", true).get() 
+1

文件當然啊!我希望我已經與文檔間參考文獻建立了聯繫。由於它們的重要性和共同性,在文檔中重申這將是推薦的成員關係用例(1​​:*,*:*)會很好。時間做一些旋轉:| –

相關問題