首页 > 解决方案 > 引用集合的归档而不是集合 mongodb

问题描述

我有这样的架构

const Schema1 = new Schema({
  field11: String,
  field12: [
             {  _id: Schema.Types.ObjectId, 
                title: String
             }
           ]
})

和另一个模式,它有一个字段来引用第一个集合的字段,如下所示

const Schema2 = new Schema({
  field21: String,
  field22: [
             {_id: {type: Schema.Types.ObjectId}, 
             {ref: 'Schema1.filed12'}
           ]
})

我需要填充field22schema2。我需要怎么做。

下面的查询对我不起作用。

Schema2.find(field21).populate('Schema1.field12')

标签: mongodbmongoosepopulate

解决方案


根据文档

ref选项告诉 Mongoose 在填充过程中使用哪个模型,在我们的例子中是Story模型。我们这里存储的所有_ids 都必须是_idStory 模型中的 document 。

您正在尝试将非 id 字段存储为应该指向嵌套在模型数组中的子文档的引用Schema1。这根本行不通。


推荐阅读