如何将子文档数组的 ObjectId 引用到另一个模型

Posted

技术标签:

【中文标题】如何将子文档数组的 ObjectId 引用到另一个模型【英文标题】:How do I reference subdocument array's ObjectId to another model 【发布时间】:2018-06-07 17:50:39 【问题描述】:
usermodel:

"_id" : ObjectId("5a2622b0004be35f4baf70e3"),
"username": "testuser",
"bankdetails" : [ 
        
            "_id" : ObjectId("5a294146015da72db1560326"),            
            "bankname" : "bankofamerica"
        
]



samplemodel:

    "_id" : ObjectId("5a41f785416d0d3d93794ca9"),   
    "bankid" : ObjectId("5a294146015da72db1560326"),



samplemodel.find().populate('bankid').exec(function(err,resData)
    res.json(resData);
);

我已经使用了上面的代码,但没有使用这个代码......请给出一些解决方案来解决这个问题......

【问题讨论】:

你能解释一下你在这里想要达到的目标吗? 【参考方案1】:

您必须更新架构,为银行创建单独的架构。并作为嵌入文档传递给“bankdetails”,要从示例模型中获取结果,您需要传递银行模式的参考。示例:

var BankSchema = new Schema(
   bankname: type: String
);

var Bank = mongoose.model('Bank', BankSchema); 

var UserSchema = new Schema(
  username: type: String,
  bankdetails:[BankSchema],
);

var SampleSchema = new Schema(
  sameple_string: type: String,
    bankid:
      type:mongoose.Schema.Types.ObjectId,
      ref:'Bank'
    ,
);

【讨论】:

以上是关于如何将子文档数组的 ObjectId 引用到另一个模型的主要内容,如果未能解决你的问题,请参考以下文章

如何将子上下文中的对象检索到另一个上下文中?

GraphQL & Mongoose Schema - 如何将一组 mongoose objectId 引用存储到另一种类型?

如何填充外部字段 ID 的 MongoDB 数组?

将 Mongo ObjectId 保存到另一个文档中

一个 ObjectId 的 ObjectId 的 Mongoose 查询数组

Mongoose:如何将子文档中的数组提取到父文档中的单个数组中