我試圖從我的“患者”集合中獲取檔案,其中包含基于“翻譯”鍵值的地圖“約會”陣列,如下所示:

這是我嘗試查詢檔案的方式,但我想我有語法錯誤
static Stream<QuerySnapshot> getSpecificUserAppointments(String translatorName) {
return FirebaseFirestore.instance
.collection('Patients')
.where('appointments', arrayContains: translatorName)
.snapshots();
}
我也試過用這種方式過濾
.where('appointments.translator', arrayContains: translatorName),
.where('appointments.translator', isEqualto: translatorName)
仍然沒有得到結果
任何幫助,將不勝感激
uj5u.com熱心網友回復:
該arrayContains運營商檢查是否指定的精確,完整的專案存在在陣列中。因此,只有當appointments陣列包含一個條目,該條目具有單個字串作為其值時,您的檢查才有效translatorName。
如果您想檢查某個名稱是否存在,請使用 向您的檔案添加一個額外的陣列欄位,您可以translatorNames在其中僅保留檔案中翻譯人員的(唯一)名稱。然后您可以使用該欄位來查詢:
return FirebaseFirestore.instance
.collection('Patients')
.where('translatorNames', arrayContains: translatorName)
.snapshots();
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/363617.html
標籤:火力基地 扑 谷歌云firestore
