我使用mongodb作为我的后端。我必须在每个文档的列表中存储类似的文档ID。这是我的收藏中的一个示例记录。
{
"_id": ObjectID("...."),
"doc_name": "my_doc1",
"doc_id": "doc_id_1",
"similar_docs": ["doc_id_6", "doc_id_86", "doc_id_93"],
"more_fields": "..."
}
这样我就可以跟踪每个文档的类似文档。 现在我希望将完整的json用于给定文档的所有类似文档。现在我在doc_id列表中使用for循环实现它,为每个doc_id发出数据库请求。有没有微妙的方法来完成这项工作。
答案 0 :(得分:3)
您可以使用单个查询,具体如下:
db.collection.find({_id: {$in: [doc_id1, doc_id2, ..]}});
但是,如果您想在查询父文档时以某种方式将这些ID“扩展”为文档,那么您就无法做到这一点。除非您存储该数组中的完整文档(这可能很昂贵或不可能(如果生成的文档超过最大文档大小)。)