Лучшее руководство по Ссылки на базы данных MongoDB в 2024 году. В этом руководстве вы можете изучить DBRefs против справочного руководства,Используйте DBRefs,
В предыдущем разделе мы упоминали отношения MongoDB MongoDB ссылка стандартизировать структуру данных документа.
MongoDB имеет две ссылки:
Рассмотрим такой сценарий, у нас есть другой набор (address_home, address_office, address_mailing и т.д.) хранятся в другой адрес (адрес, адрес офиса, почтовый адрес и т.д.).
Таким образом, когда мы называем другой адрес, вам нужно указать коллекцию, коллекцию документов из нескольких справочных документов, мы должны использовать DBRefs.
DBRef формы:
{ $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" }