如何将子文档数组的 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 引用存储到另一种类型?