首页 > 解决方案 > 连接来自 2 个模型的数据的最佳实践

问题描述

我有两个模型:Note 和 Profile。注意包含已连接配置文件的外键,如下所示。

Note: {
  profile_id: String,
  date: String,
  content: String,
}

Profile: {
  id: String,
  name: String,
  profilePicture: String

}

我想获取所有笔记以及笔记的名称和个人资料图片。

在这种情况下,我应该:

  1. 获取所有笔记和所有配置文件,然后在本地将它们加入 for 循环,
  2. 获取所有笔记,然后在 for 循环中向 DB 询问匹配配置文件的名称和图片,
  3. 其他选项

推荐哪种方式?

标签: mongodbmongoose

解决方案


看看猫鼬的 Populate。您可以使用 声明 Schema 属性type: Schema.Types.ObjectId, ref: 'Profile'。当您运行查询时,您可以.populate()将此字段与相应的文档一起使用。


推荐阅读