我想将isSeen字段更新为1,并用flutter代码中的idTo消息过滤。
void onSeenMessages(){
Stream<QuerySnapshot> messageRef = Firestore.instance
.collection("messages")
.document(groupChatId)
.collection(groupChatId)
.snapshots();
messageRef. {
field.documents. {
productName.add(field.documents[index]["name"]);
});
});
}
答案 0 :(得分:1)
据我了解,您需要更改(isSeen)字段:
您可以这样做:
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 5
1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 2 2
1 1 1 1 1 1 1 1 1 1 1 1 1 2 5
1 1 1 1 1 1 1 1 1 1 1 1 2 2 2 2
1 1 1 1 1 1 1 1 1 1 1 2 2 5
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2
1 1 1 1 1 1 1 1 1 1 5 5
1 1 1 1 1 1 1 1 1 2 2 2 5
1 1 1 1 1 1 1 1 2 2 2 2 2 2
1 1 1 1 1 1 1 1 2 5 5
1 1 1 1 1 1 1 2 2 2 2 5
1 1 1 1 1 1 2 2 2 2 2 2 2
1 1 1 1 1 1 2 2 5 5
1 1 1 1 1 2 2 2 2 2 5
1 1 1 1 1 5 5 5
1 1 1 1 2 2 2 2 2 2 2 2
1 1 1 1 2 2 2 5 5
1 1 1 2 2 2 2 2 2 5
1 1 1 2 5 5 5
1 1 2 2 2 2 2 2 2 2 2
1 1 2 2 2 2 5 5
1 2 2 2 2 2 2 2 5
1 2 2 5 5 5
2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 5 5
5 5 5 5
combo = 29
该图片中的女巫documentID:
如果您不知道如何获取documentID?请告诉我。
答案 1 :(得分:1)
是,documentID未知,我需要检查所有文档。这是我找到的并且现在可以正常工作的,请告诉我是否可以对其进行优化。
void onSeenMessages()异步{
CollectionReference ref = Firestore.instance
.collection('messages')
.document(groupChatId)
.collection(groupChatId);
QuerySnapshot eventsQuery = await ref.where('idTo', isEqualTo: id).where('isSeen', isEqualTo: 0).getDocuments();
eventsQuery.documents.forEach((msgDoc) {
msgDoc.reference.updateData({'isSeen': 1});
});
}