sql >> Databasteknik >  >> NoSQL >> MongoDB

Node.js - Skapa relationer med Mongoose

Det låter som att du vill prova den nya populate-funktionen i Mongoose.

Med ditt exempel ovan:

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

SubdomainSchema = new Schema
    name : String

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

subdomain fältet kommer att uppdateras med ett '_id' såsom:

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

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

För att faktiskt få data från subdomain fältet du kommer att behöva använda den lite mer komplexa frågesyntaxen:

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


  1. Kör Heroku bakgrundsuppgifter med endast 1 webbdyno och 0 arbetardyno

  2. Mongodb Aggregation Framework | Gruppera över flera värden?

  3. Redis kluster failover:slav kommer inte att bli master

  4. Sortering efter virtuellt fält i mongoDB (mongoose)