MongoDB
 sql >> Base de données >  >> NoSQL >> MongoDB

Node.js - Créer des relations avec Mongoose

Il semble que vous cherchiez à essayer la nouvelle fonctionnalité de peuplement dans Mongoose.

En utilisant votre exemple ci-dessus :

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

SubdomainSchema = new Schema
    name : String

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

Le subdomain le champ sera mis à jour avec un '_id' tel que :

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

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

Pour obtenir réellement des données du subdomain vous allez devoir utiliser la syntaxe de requête un peu plus complexe :

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