mongodb-从列表中的ID访问记录

mongodb-从列表中的ID访问记录,mongodb,Mongodb,我使用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": "..." } 这样,我就可以跟踪每个文档的类似文档。 现在,我希望为给定文档的所

我使用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。现在,我正在使用文档id列表上的for循环来实现它,该列表为每个文档id向数据库发出请求。是否有任何微妙的方法来完成这项工作。

您可以进行单个查询,大致如下:

db.collection.find({_id: {$in: [doc_id1, doc_id2, ..]}});
但若您想在查询父文档时以某种方式将这些ID“扩展”到文档中,那个么您不能这样做。除非您将完整文档存储在该数组中(这可能很昂贵或不可能(如果生成的文档超过最大文档大小))