Javascript Firestore:按文档数组中的映射进行查询

Javascript Firestore:按文档数组中的映射进行查询,javascript,google-cloud-firestore,Javascript,Google Cloud Firestore,我需要执行查询以返回与一个特定用户id关联的文档列表 这是因为我发送的是完全相同的地图 firestore.collection('conversations').where('users', 'array-contains', {id: 1, username: 'john') 我想这不起作用,因为我只发送id firestore.collection('conversations').where('users', 'array-contains', {id: 1}) 是否可以这样做,否

我需要执行查询以返回与一个特定用户id关联的文档列表

这是因为我发送的是完全相同的地图

firestore.collection('conversations').where('users', 'array-contains', {id: 1, username: 'john')
我想这不起作用,因为我只发送id

firestore.collection('conversations').where('users', 'array-contains', {id: 1})

是否可以这样做,否则我将不得不“手动”筛选所有记录?谢谢大家!

array contains
目前不支持查询数组中对象的字段。但是你可以重新构造你的数据以便你可以利用它。 关于同一问题,请参见以下链接,以获取SO上已有的答案


谢谢@denniskbijo您对重组有什么建议?我现在有一个频道集合和一个消息集合。我知道如何获取给定对话的所有消息(因为我有id),但我仍然需要以某种方式列出用户参与的所有频道。一种选择是只获取所有通道,并在客户端设置过滤器。这是昂贵的,而且随着频道列表的增加会变得更加复杂。仍然没有任何解决方案?仍然没有任何解决方案?