在 mongodb 上,我有一个顶级文档集合(“TopLevelDocument”),其中引用了另一个集合(“SecondaryCollection”)中的文档,它看起来像这样:
TopLevelDocument {
id: UUID,
groupOfReferences:[{secondaryCollectionDocumentId: UUID},{secondaryCollectionDocumentId: UUID},{...}]
}
"groupOfReferences" 的长度未知
使用“secondaryCollectionDocumentId”我可以查询这些文档的“SecondaryCollection”,它返回“SecondaryCollectionDocument”。
在“SecondaryCollectionDocument”中,我有另一组不同数据库的复制文档(“replicatedDocuments”):
SecondaryCollectionDocument{
id: UUID,
replicatedDocuments:[{...Replica of another document in a different database}, {...}]
}
“replicatedDocuments”的长度未知
我正在构建一个查询,其中我采用“TopLevelDocument”ID 并返回与这些“TopLevelDocuments”相关联的所有“replicatedDocuments”
现在,我在“TopLevelCollection”上为 Id 运行一个查找,然后在“SecondaryCollection”上为“secondaryCollectionDocumentIds”运行另一个查找,并将所有“replicatedDocuments”组合在一个数组中,但我觉得这是效率低下。
我有两个问题: