MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Как да препратя друга схема в моята схема Mongoose?

Можете да го опишете с помощта на Население

Попълването е процесът на автоматично заместване на посочените пътища в документа с документ(и) от друга колекция(и). Може да попълним един документ, множество документи, обикновен обект, множество обикновени обекта или всички обекти, върнати от заявка.

Да предположим, че вашата схема на събитие е дефинирана, както следва:

var mongoose = require('mongoose')
  , Schema = mongoose.Schema

var eventSchema = Schema({
    title     : String,
    location  : String,
    startDate : Date,
    endDate   : Date
});

var personSchema = Schema({
    firstname: String,
    lastname: String,
    email: String,
    gender: {type: String, enum: ["Male", "Female"]}
    dob: Date,
    city: String,
    interests: [interestsSchema],
    eventsAttended: [{ type: Schema.Types.ObjectId, ref: 'Event' }]
});

var Event  = mongoose.model('Event', eventSchema);
var Person = mongoose.model('Person', personSchema);

За да покажете как се използва populate, първо създайте обект на човек, aaron = new Person({firstname: 'Aaron'}) и обект на събитие, event1 = new Event({title: 'Hackathon', location: 'foo'}) :

aaron.eventsAttended.push(event1);
aaron.save(callback); 

След това, когато направите своята заявка, можете да попълните препратки по следния начин:

Person
.findOne({ firstname: 'Aaron' })
.populate('eventsAttended') // only works if we pushed refs to person.eventsAttended
.exec(function(err, person) {
    if (err) return handleError(err);
    console.log(person);
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Справяне с бавни заявки в MongoDB

  2. Как да стартирате необработени mongodb команди от pymongo

  3. MongoDB $dateFromString Спецификатори на формат

  4. Монго Сортиране по брой съвпадения в масив

  5. mongodb :Увеличаване на максималните връзки в mongodb