MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Làm cách nào để tham chiếu một lược đồ khác trong lược đồ Mongoose của tôi?

Bạn có thể mô tả nó bằng cách sử dụng Dân số

Tổng thể là quá trình tự động thay thế các đường dẫn được chỉ định trong tài liệu bằng (các) tài liệu từ (các) bộ sưu tập khác. Wemay điền một tài liệu, nhiều tài liệu, đối tượng thuần túy, nhiều đối tượng thuần túy hoặc tất cả các đối tượng được trả về từ một truy vấn.

Giả sử Lược đồ sự kiện của bạn được xác định như sau:

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);

Để hiển thị cách điền được sử dụng, trước tiên hãy tạo một đối tượng người, aaron = new Person({firstname: 'Aaron'}) và một đối tượng sự kiện, event1 = new Event({title: 'Hackathon', location: 'foo'}) :

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

Sau đó, khi bạn thực hiện truy vấn của mình, bạn có thể điền các tham chiếu như sau:

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 - Tạo bản sao lưu

  2. làm thế nào để giải phóng bộ nhớ đệm được sử dụng bởi Mongodb?

  3. Hoạt động đẩy trong MongoDB

  4. mối quan hệ nhiều đến nhiều với nosql (mongodb và mongoose)

  5. Buộc mongodb xuất ra JSON nghiêm ngặt