Latest web development tutorials
×

MongoDB курс

MongoDB курс NoSQL Краткое введение MongoDB Краткое введение Window устанавливать MongoDB Linux устанавливать MongoDB MongoDB Интерпретация Концепции MongoDB подключение MongoDB Создание базы данных MongoDB Удалить базу данных MongoDB Вставить документ MongoDB Обновление документации MongoDB Удаление документов MongoDB документ Запрос MongoDB Условный оператор MongoDB $type операторы MongoDB Limit & Skip MongoDB последовательность MongoDB индекс MongoDB агрегирование MongoDB копия MongoDB Ломтики MongoDB Резервное копирование и восстановление MongoDB монитор MongoDB Java MongoDB PHP распространение MongoDB PHP MongoDB PHP7

MongoDB Расширенный учебник

MongoDB отношения MongoDB ссылки на базы данных MongoDB Индекс покрытия запроса MongoDB анализ запросов MongoDB атомарные операции MongoDB Расширенный индексации MongoDB ограничения индекса MongoDB ObjectId MongoDB Map Reduce MongoDB Полнотекстовый поиск MongoDB Регулярные выражения MongoDB Инструменты управления MongoDB GridFS MongoDB Фиксированный набор MongoDB Автоматический рост

отношения MongoDB

MongoDB отношения выражается взаимосвязь между несколькими документами в логике.

Вы можете установить контакт путем встраивания и ссылки между документами.

Отношения MongoDB может быть:

  • 1: 1 (1: 1)
  • 1: N (1-много)
  • N: 1 (несколько пар 1)
  • N: N (многие ко многим)

Далее мы рассмотрим связь между пользователем и адресом пользователя следующий.

Пользователь может иметь несколько адресов, это один ко многим.

Ниже приведен простой конфигурации пользователя документа:

{
   "_id":ObjectId("52ffc33cd85242f436000001"),
   "name": "Tom Hanks",
   "contact": "987654321",
   "dob": "01-01-1991"
}

Ниже приводится простая структура адрес документа:

{
   "_id":ObjectId("52ffc4a5d85242602e000000"),
   "building": "22 A, Indiana Apt",
   "pincode": 123456,
   "city": "Los Angeles",
   "state": "California"
} 

Встроенные отношения

Используя встроенный метод, мы можем встроить адрес пользователя к документу пользователя:

   "_id":ObjectId("52ffc33cd85242f436000001"),
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin",
   "address": [
      {
         "building": "22 A, Indiana Apt",
         "pincode": 123456,
         "city": "Los Angeles",
         "state": "California"
      },
      {
         "building": "170 A, Acropolis Apt",
         "pincode": 456789,
         "city": "Chicago",
         "state": "Illinois"
      }]
} 

Приведенные выше данные хранятся в одном документе, вы можете более легко получить доступ и сохранить данные. Вы можете запросить адрес пользователя:

>db.users.findOne({"name":"Tom Benzamin"},{"address":1})

Примечание: Приведенный вышеБД запроса указывает на базу данных и пользователейи коллекций.

Недостатком этой структуры данных является то, что, если пользователи и адресовать увеличивая объем данных, становится все больше и больше, будет влиять на скорости чтения и записи.

Тип задания отношения

Тип задания отношения часто используется в конструкции подход базы данных, файлы пользовательских данных и файлов данных адрес пользователя отдельно строить отношения по НТДидентификатор поля.

{
   "_id":ObjectId("52ffc33cd85242f436000001"),
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin",
   "address_ids": [
      ObjectId("52ffc4a5d85242602e000000"),
      ObjectId("52ffc4a5d85242602e000001")
   ]
}

В приведенном вышепримере, address_ids документ , содержащий поле объект пользовательского идентификатора массива адрес пользователя (ObjectId).

Мы можем читать эти объекты ID-адрес пользователя (ObjectId), чтобы получить подробную информацию об адресе пользователя.

Этот метод требует два запроса, адрес первого объекта запроса идентификатор пользователя (ObjectID), второй адрес для получения дополнительной информации по запросу пользователя по номеру.

>var result = db.users.findOne({"name":"Tom Benzamin"},{"address_ids":1})
>var addresses = db.address.find({"_id":{"$in":result["address_ids"]}})