MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Node.js - Criando relacionamentos com o Mongoose


Parece que você está tentando experimentar a nova funcionalidade de preenchimento no Mongoose.

Usando seu exemplo acima:
var Schema = mongoose.Schema,
    ObjectId = Schema.ObjectId;

SubdomainSchema = new Schema
    name : String

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

O subdomain campo será é atualizado com um '_id' como:
var newSubdomain = new SubdomainSchema({name: 'Example Domain'})
newSubdomain.save()

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

Para realmente obter dados do subdomain campo você terá que usar a sintaxe de consulta um pouco mais complexa:
CustphoneSchema.findOne({}).populate('subdomain').exec(function(err, custPhone) { 
// Your callback code where you can access subdomain directly through custPhone.subdomain.name 
})