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" }