2016-01-18 100 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