Лучшее руководство по Ссылки на базы данных MongoDB в 2024 году. В этом руководстве вы можете изучить DBRefs против справочного руководства,Используйте DBRefs,

Ссылки на базы данных MongoDB

В предыдущем разделе мы упоминали отношения MongoDB MongoDB ссылка стандартизировать структуру данных документа.

MongoDB имеет две ссылки:

  • Справочное руководство (Ссылки на Руководство)
  • DBRefs

DBRefs против справочного руководства

Рассмотрим такой сценарий, у нас есть другой набор (address_home, address_office, address_mailing и т.д.) хранятся в другой адрес (адрес, адрес офиса, почтовый адрес и т.д.).

Таким образом, когда мы называем другой адрес, вам нужно указать коллекцию, коллекцию документов из нескольких справочных документов, мы должны использовать DBRefs.


Используйте DBRefs

DBRef формы:

{ $ref : , $id : , $db :  }

Значение трех полей, представленных:

  • $ Ref: Название коллекции
  • $ Id: идентификатор обращения
  • $ Db: имя базы данных, необязательные параметры

В следующем примере используется документ пользовательские данные DBRef, адрес поля:

{
   "_id":ObjectId("53402597d852426020000002"),
   "address": {
   "$ref": "address_home",
   "$id": ObjectId("534009e4d852427820000002"),
   "$db": "w3cschoolcc"},
   "contact": "987654321",
   "dob": "01-01-1991",
   "name": "Tom Benzamin"
}

адрес DBRef поле задает адрес ссылки на документы находятся в базе данных address_home w3cschoolcc сбора, идентификатор 534009e4d852427820000002.

Следующий код, мы должны найти коллекцию по указанному адресу информация идентификатора пользователя, указанного в параметре $ реф (address_home комплект):

>var user = db.users.findOne({"name":"Tom Benzamin"})
>var dbRef = user.address
>db[dbRef.$ref].findOne({"_id":(dbRef.$id)})

Приведенные выше примеры возвращены address_home сбор адресных данных:

{
   "_id" : ObjectId("534009e4d852427820000002"),
   "building" : "22 A, Indiana Apt",
   "pincode" : 123456,
   "city" : "Los Angeles",
   "state" : "California"
}
Ссылки на базы данных MongoDB
10/30