![](/img/trans.png)
[英]cannot filter data when using `where` query on firebase_admin
[英]How to filter firebase data using a where clause with FieldPat.documentId
我試圖檢索數據
Stream<List<User>> getUsers(User user) {
List<String> userFilter = List.from(user.swipeLeft!)
..addAll(user.swipeRight!)
..add(user.uid!);
return _firebaseFirestore
.collection('users')
.where('interestedIn', isEqualTo: 'HIRING')
.where(FieldPath.documentId, whereNotIn: userFilter)
.snapshots()
.map((snap) {
return snap.docs.map((doc) => User.fromSnapshot(doc)).toList();
});
}
我收到錯誤解析查詢 arguments 時發生錯誤,這很可能是此 SDK 的錯誤。 無效的查詢。 使用 FieldPath.documentId() 查詢時,您必須提供有效的文檔 ID,但它是一個空字符串。
我怎樣才能解決這個問題?
在 firebase 中,您不能使用文檔 id 進行過濾,您只能使用文檔中的字段進行過濾,一種簡單的解決方案是您自己使用uuid之類的包生成唯一的 id,然后使用 id 保存文檔將 id 保存在文檔字段中,然后您可以使用文檔字段中的 id 進行過濾
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.