MongoDB
 sql >> Database >  >> NoSQL >> MongoDB

Node.js - Creazione di relazioni con Mongoose

Sembra che tu stia cercando di provare la nuova funzionalità di popolamento in Mongoose.

Usando il tuo esempio sopra:

var Schema = mongoose.Schema,
    ObjectId = Schema.ObjectId;

SubdomainSchema = new Schema
    name : String

CustphoneSchema = new Schema
    phone : String
    subdomain  : { type: ObjectId, ref: 'SubdomainSchema' }

Il subdomain il campo verrà aggiornato con un '_id' come:

var newSubdomain = new SubdomainSchema({name: 'Example Domain'})
newSubdomain.save()

var newCustphone = new CustphoneSchema({phone: '123-456-7890', subdomain: newSubdomain._id})
newCustphone.save()

Per ottenere effettivamente i dati dal subdomain campo dovrai usare la sintassi della query leggermente più complessa:

CustphoneSchema.findOne({}).populate('subdomain').exec(function(err, custPhone) { 
// Your callback code where you can access subdomain directly through custPhone.subdomain.name 
})