【问题标题】:mongoose - insert document with related猫鼬 - 插入相关文档
【发布时间】:2016-10-07 02:44:54
【问题描述】:

我有两个模型以下列方式连接:

var ModelASchema = new Schema({
  modelB:  { type : Schema.ObjectId, ref : 'ModelB', required : true},
});

var ModelBSchema = new Schema({
  text: { type: String }
});

我正在尝试保存一个新的 ModelA 实例,其中包含一个新的 ModelB 实例:

var modelA = new ModelA({
        modelB: new ModelB({text: 'new text'})
    })
modelA.save(function(err){})

奇怪的是,ModelA 被保存到带有 ObjectID 的数据库中,但没有保存 ModelB 的新实例。

有没有办法插入两个文档并通过一次保存将它们连接起来,或者我必须先保存 ModelB,然后将其保存到 ModelA。

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    您必须先保存ModelB,因为您在ModelA中被用作参考,您不能以这种方式保存。

    当您保存ModelA 时,它找不到ModelB 的引用,这就是为什么它只保存带有_id 的ModelA

    【讨论】:

    • 据我所知,除了使用ModelB作为ModelA的嵌入文档之外别无他法
    • 是的,您也可以这样做,但根据您的架构,您首先保存模型B,然后保存模型A
    猜你喜欢
    • 1970-01-01
    • 2015-06-26
    • 2015-09-06
    • 1970-01-01
    • 1970-01-01
    • 2020-02-16
    • 2017-02-25
    • 1970-01-01
    • 2017-01-29
    相关资源
    最近更新 更多