MongoDB中_id的关系

时间:2016-01-18 01:51:51

标签: mongodb

我一直在研究MongoDb将我的项目迁移到MEAN技术,我在我的数据库中有两个集合person,我在其中放置了所有基本信息,如姓名,年龄等,account在哪里我把信息,如电子邮件,通行证,级别。我需要在这些集合之间建立关系。我所做的是设置account的_id等于person'_id。这是对的吗?

人物收藏

{
    "_id" : ObjectId("569c39684e23c75303a0fe32"),
    "name" : {
            "First" : "Daniel Alessandro",
            "Last" : "Aguilar Chombo"
    },
    "area" : 1
}

帐户收集

{
        "_id" : ObjectId("569c39684e23c75303a0fe32"),
        "email" : "testAccount@live.com",
        "password" : "testPassword4218",
        "level" : 0
}

2 个答案:

答案 0 :(得分:1)

此处可以使用$ref来构建UserAccount之间的关系。

mongoose为例:

var personSchema = Schema({
  name    : { First: String, Last: String},
  area    : Number,
  account : [{ type: Schema.Types.ObjectId, ref: 'Account' }]
});

 var accountSchema = Schema({{
        email : String,
        password : String,
        level : Number
}

答案 1 :(得分:0)

嗯,那将是一个1:1的关系,我会问为什么不在一个集合中拥有数据呢。

然而,您可以简单地将类型ObjectID的字段(或数组)添加到一个集合中,并存储另一个集合的id_。它模拟一个经典的外键关系,就像我们从RDBMS中知道的那样。