Zunächst einmal gibt es einen großen Unterschied zwischen den Beziehungen in MongoDB und denen in SQL-basierten Datenspeichern (Sie müssen dies von Anfang an klar sein).
Beziehungen in MongoDB sind nur Darstellungen verwandter Daten. Es gibt keinen Mechanismus, der die Integrität dieser Beziehungen aufrechterhält.
Was Mungoose mit Refs tut, verwenden Sie einfach das Feld mit der ref
Option, um das _id
Feld der Dokumente in der referenzierten Sammlung abzufragen. Dies wird für Vorgänge wie populate
verwendet (die intern findById
Abfragen für die Zielsammlung aufrufen und das referenzierte Feld durch die Dokumente ersetzen).
Wenn diese Option deaktiviert ist, können Sie eine oder mehrere IDs für die referenzierte Sammlung im Feld speichern und so Eins-zu-Eins oder Eins-zu-Viele-Beziehungen erstellen.
also eine einzige ID für eine referenzierte Sammlung zu speichern, würde die Syntax sein:
client: {type: Mongoose.Schema.Types.ObjectId, ref: 'Client'} //No arrays, as we want to store a single ID only.
Auf die gleiche Weise können Sie viele IDs für die jeweilige Sammlung wie so speichern kann:
friends: [{type: Mongoose.Schema.Types.ObjectId, ref: 'User'}] //The array stores multiple IDs, creating a one-to-many "relationship"
EDIT:
Stellen Sie sicher, dass Sie am Anfang das Mongoose-Modul require
d haben.
var Mongoose = require('mongoose');
Verwenden Sie dann einfach kein Array. – qqilihq
Danke, aber das hilft nicht wirklich - ich bin neu in der Verwendung von Knoten und Mungo, daher ist mir die Syntax fremd. – Slippy