Latest web development tutorials

referencias de bases de datos MongoDB

En la sección anterior hemos mencionado la relación de referencia MongoDB MongoDB para estandarizar la estructura de datos del documento.

MongoDB tiene dos referencias:

  • manual de referencia (Referencias al Manual)
  • DBRefs

DBRefs vs manual de referencia

Considere este escenario, tenemos un conjunto diferente (address_home, address_office, address_mailing, etc.) almacenados en una dirección diferente (dirección, dirección de la oficina, dirección postal, etc.).

Por lo tanto, cuando llamamos dirección diferente, es necesario especificar una colección, una colección de documentos de múltiples documentos referenciados, debemos utilizar DBRefs.


Use DBRefs

DBRef formas:

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

Importancia de los tres campos representados por:

  • $ Ref: nombre de la colección
  • $ Id: Identificación de referencia
  • $ DB: nombre de la base de datos, parámetros opcionales

En el siguiente ejemplo se utiliza una, dirección de campo del documento de datos de usuario DBRef:

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

campo dedirección DBRef especifica los documentos de referencia de dirección están bajo address_home base de datos w3cschoolcc colección, id es 534009e4d852427820000002.

El siguiente código, tenemos que encontrar la colección en la dirección especificada id de usuario información especificada por el parámetro $ ref (address_home set):

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

Los ejemplos anteriores volvieron address_home datos de dirección de recogida:

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