Firestore:按文档排列的项目查询
问题描述:
我有一个文档“用户”,其中有一个名为“照片”的键。这是一串保存的字符串,即“照片”文档的ID。Firestore:按文档排列的项目查询
我想通过这个“照片”字段查询“用户”:我希望在“照片”属性中拥有此ID的所有用户。
这可能通过firestore?
答
不幸的是,现在还没有,尽管它在我们的路线图上。
在此期间,你需要使用地图,而不是在形式:
photos: {
id1: true
id2: true
}
现在,您可以通过photos.id1 == true
过滤找到ID1的所有用户。
了解更多关于在Firebase documentation中查询此类套件的信息。
答
这里是有点在回答一些扩张似乎混淆不必进行索引每个键,公司的FireStore已经索引的简单查询数据。因此,你可以像
documentReference.where('param','==','value').onSnapshot(...)
一个简单的查询
但您不能执行复合查询,除非您将这些参数的数据编入索引。所以,你需要索引能够做这样的事情:
documentReference.where('param','==','value').where(..otherparams...).onSnapshot(...)
所以只要您需要的照片的ID,你可以将它们保存为
usersCollection : (a collection)
uidA: (a document)
photoField: (a field value that is a map or object)
fieldID1 : true (a property of the photoField)
fieldID2 : true (a property of the photoField)
etc ...
,你可以简单地查询用户(s),比方说,它们的photoField中的fieldID1不需要在下面形成任何索引和查询。
firestore.doc('usersCollection/uidA').where('photoField.fieldID1','==',true).onSnapshot(...)
这个路标是否在某处出版?只是好奇。 –
它不是。我们通常不会谈论未来的功能,因为事情可能会突然出现改变优先级(甚至可行性)。 –
@DanMcGrath此功能/路线图是否有更新? –