在Firestore中,我有一个名为“ habits”的集合,每个文档都有一个带有用户ID的数组。我现在想获得一个包含所有习惯的集合,这些习惯在数组中包含特定的userID。
这是我的代码:
final CollectionReference habitDataCollection = Firestore.instance.collection('habits').where("habitFollowers", arrayContains: 'userID');
现在,我出现此错误:“查询”类型不是“集合引用”类型的子类型
你知道我在做什么错吗?
非常感谢您的帮助!
尼古拉斯
PS:
然后代码使用Stream获取快照
Stream<List<HabitData>> get habitData {
return habitDataCollection.snapshots()
.map(_habitDataListFromSnapshot);
}
并将其形成飞镖对象
List<HabitData> _habitDataListFromSnapshot(QuerySnapshot snapshot) {
return snapshot.documents.map((doc){
return HabitData(
hid: doc.documentID ?? '',
name: doc.data['name'] ?? '',
description: doc.data['description'] ?? '',
);
}).toList();
}
答案 0 :(得分:5)
更改此:
<form>
<button type="submit">Submit</button>
</form>
对此:
final CollectionReference habitDataCollection = Firestore.instance.collection('habits').where("habitFollowers", arrayContains: 'userID');