2016-01-18 125 views
0

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

人收藏

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

帐户集合

{ 
     "_id" : ObjectId("569c39684e23c75303a0fe32"), 
     "email" : "[email protected]", 
     "password" : "testPassword4218", 
     "level" : 0 
} 

回答

0

$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 
} 
0

嗯,这将是一个1:1间的关系,我会问为什么没有数据在一个收集,然后。

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

+0

我知道,在NoSQL数据库是没有必要正常化或创建集合之间的关系,但我需要这个正常化表,因为我不希望把他们的数据(电子邮件并通过)在同一文件中。 – DanyNsg