2016-01-18 4 views
0

Я изучаю MongoDb для переноса моего проекта на технологии MEAN, и у меня есть в моей базе две коллекции person, где я помещаю всю базовую информацию, такую ​​как имя, возраст и т. Д. И account, где я помещаю информацию, такую ​​как электронная почта, проход, уровень. Мне нужно создать связь между этими коллекциями. Я установил account _id равным person '_id. Это верно ?Отношения от _id в MongoDB

Person Коллекция

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

счета Коллекция

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

ответ

0

$ref может использоваться здесь для построения взаимосвязи между User и Account.

Возьмите 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_ s другой коллекции. Он имитирует классический внешний ключ, как мы его знаем из РСУБД.

+0

Я знаю, что в базах данных NoSQL не нужно нормализовать или создавать отношения между коллекциями, но мне нужно нормализовать эти таблицы, потому что я не хочу, чтобы поместить эти данные (Email и pass) в том же документе. – DanyNsg

Смежные вопросы