MongoDB聚合ID是否可以有效地进行批量搜索?

时间:2019-05-05 11:47:31

标签: mongodb aggregate

我在MongoDB文档中有8个以上的引用。这些是存储在原始文档中的对象ID,为了获取外部对象的真实数据,我必须进行聚合查询,如下所示:

{
    $lookup: {
      from: "departments",
      let: { "department": "$_department" },
      pipeline: [
        { $match: { $expr: { $eq: ["$_id", "$$department"] }}},
      ],
      as: "department"
    }
  },
  {
    $unwind: { "path": "$department", "preserveNullAndEmptyArrays": true }
  },

这有效,代替了ObjectId,我得到了真正的部门对象。

但是,这需要时间,并且进行查询需要很多时间。

我注意到我多次使用同一个ID,最好收集所有唯一ID,然后从数据库中获取一次,然后再使用同一对象。

使用MongoDB,我不知道任何插件或服务。在Github中是否有任何类型的服务或软件包之前,我可以自己做一个我想知道的事情?

0 个答案:

没有答案