Typescript 如何在Cloud Firestore中高效地获取不同集合中具有特定id的文档?
我试图在我的数据库中获取使用相同id创建的多个文档。我知道使用Typescript 如何在Cloud Firestore中高效地获取不同集合中具有特定id的文档?,typescript,google-cloud-firestore,Typescript,Google Cloud Firestore,我试图在我的数据库中获取使用相同id创建的多个文档。我知道使用collectionGroup和下面的代码可以做到这一点,但我正在寻找一种可能更高效、更干净的方法 我已经阅读了这个问题,它表明使用collectionGroup在字段中存储id以查找文档是非常必要的 在我的例子中,具有myId的文档可以位于两个不同的集合中,因此我希望避免使用collectionGroup,因为我必须在两个单独的集合中这样做: const collectionOneDocs = await firestoreInst
collectionGroup
和下面的代码可以做到这一点,但我正在寻找一种可能更高效、更干净的方法
我已经阅读了这个问题,它表明使用collectionGroup
在字段中存储id以查找文档是非常必要的
在我的例子中,具有myId
的文档可以位于两个不同的集合中,因此我希望避免使用collectionGroup
,因为我必须在两个单独的集合中这样做:
const collectionOneDocs = await firestoreInstance.get().collectionGroup('collectionOne').where('id', '==', myId).get();
const collectionTwoDocs = await firestoreInstance.get().collectionGroup('collectionTwo').where('id', '==', myId).get();
这段代码对我来说很有用,但我希望只执行一个操作来访问文档,并且避免将id
保存为文档中的一个字段,因为它实际上不是必需的。那么firestore中是否存在查找具有特定id
的所有文档的方法,或者这已经是firestore提供的最佳解决方案了
非常感谢 如果集合具有不同的名称,则无法通过单个查询从集合中获取结果 因此,您唯一的选择是:
- 或者为每个集合(名称)运行单独的查询
- 为集合指定相同的名称