在Flutter中查询Firestore地图字段

时间:2020-07-21 00:51:48

标签: flutter google-cloud-firestore

我正在尝试从名为"bookmarks"的字段中检索Firestore数据库中的帖子。字段"bookmarks"的类型为map。当用户将帖子添加为书签时,将deviceId设置为true的情况下更新该字段,

▼ bookmarks

     deviceId : true

取消发布该帖子后,deviceId : true被删除,bookmarks字段保持空白,如下所示:

bookmarks: {}

我正在尝试从"bookmarks"设置为deviceID的{​​{1}}中检索帖子。但是,我的查询返回了所有帖子,包括true为空的帖子。

这是我的查询:

bookmarks

请帮助弄清楚我在做什么错。被吸引的是我的数据库结构。 谢谢。

https://i.stack.imgur.com/AQQ9K.png

https://i.stack.imgur.com/sQQsg.png

1 个答案:

答案 0 :(得分:1)

您的bookmarks字段不是数组,因此您不能像数组一样查询它。这是一张地图,您可以使用点符号查询地图的嵌套字段的值:

.where('bookmarks.${deviceId}', isEqualTo: true)