Latest web development tutorials

MongoDB Datenbank Referenzen

Im vorigen Abschnitt erwähnten wir die Beziehung MongoDB MongoDB Bezug auf die Datenstruktur des Dokuments zu standardisieren.

MongoDB hat zwei Referenzen:

  • Referenzhandbuch (Handbuch)
  • DBRefs

DBRefs vs Referenzhandbuch

Betrachten wir ein solches Szenario haben wir einen anderen Satz (address_home, address_office, address_mailing, etc.) in einer anderen Adresse gespeichert (Adresse, Büro-Adresse, Postanschrift, etc.).

Wenn wir also andere Adresse nennen, müssen Sie eine Sammlung angeben, eine Sammlung von Dokumenten aus mehreren Dokumenten Bezug genommen wird, sollten wir DBRefs verwenden.


Verwenden Sie DBRefs

DBref Formen:

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

Bedeutung der drei Felder vertreten durch:

  • $ Ref: Kollektionsnamen
  • $ Id: Referenz-ID
  • $ Db: Datenbankname, optionale Parameter

Im folgenden Beispiel wird ein Benutzerdatendokument dBref, Feldadresse:

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

Adresse dBref Feld gibt die Adresse zitierten Dokumente sind unter address_home Sammlung w3cschoolcc Datenbank id 534009e4d852427820000002 ist.

Der folgende Code, müssen wir die Sammlung an der angegebenen Adresse Informationen Benutzer-ID von $ ref Parameter (address_home set) angegeben finden:

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

Die obigen Beispiele zurück address_home Sammlung Adressdaten:

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