【问题标题】:Saving subdoc ref and parent document simultaneously同时保存子文档参考和父文档
【发布时间】:2015-08-18 12:01:22
【问题描述】:

我有一个带有公司引用的用户模型。我的数据如下:

{
"name":"justin", 
"notes":"hello notes",
"company":
    {"name":"acme inc"}
}

是否可以将我的数据保存为单个调用,或者我需要先保存我的公司模型,然后再保存我的用户?

var UserSchema = new Schema({
    name: {
        type: String,
        trim: true,
        default: ''
    },
    notes:{
        type:String
    },
    company: {
        type: Schema.ObjectId,
        ref: 'Company'
    })

【问题讨论】:

    标签: mongodb mongoose mean-stack


    【解决方案1】:

    在 NoSQL 数据库中,所有内容都是面向文档的,因此您通常不会做您想做的事情。您需要自己在代码中管理“外键”关系。

    【讨论】:

    • 通常不会做我想做的事?似乎很常见。为什么我想要每个人名下的公司名称重复数据,而不是只存储一个公司模型的引用?我做得不对吗?
    • Mongo 不是关系数据库。您正在尝试做的是关系操作。在任何情况下,您都需要递归地分解问题。先更新你的对外关系,然后再掌握。看看 MongooseJS。它在 Mongo 上放置了一个关系层。 mongoosejs.com
    • P.S.我假设您使用的是基于您的“文档”和“子文档”术语的 NoSQL DB。如果我误解了,请原谅我。
    • 不不,你猜对了。我正在使用猫鼬。我猜你说的是保存我的公司,然后在回调中更新我的用户,然后插入用户,对吧?不是捷径?
    • 正确。没有“这里的简单按钮”;)
    猜你喜欢
    • 2014-11-13
    • 1970-01-01
    • 2015-10-10
    • 2014-03-06
    • 2023-03-20
    • 2013-05-18
    • 2012-06-11
    • 2015-02-10
    • 2015-07-06
    相关资源
    最近更新 更多