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

Tham chiếu tài liệu Mongoose có mối quan hệ một-nhiều

Tham khảo dân số, tại đây trích xuất một ví dụ từ Mongoose.

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

var personSchema = Schema({
  _id     : Schema.Types.ObjectId,
  name    : String,
  age     : Number,
  stories : [{ type: Schema.Types.ObjectId, ref: 'Story' }]
});

var storySchema = Schema({
  _creator : { type: Schema.Types.ObjectId, ref: 'Person' },
  title    : String,
  fans     : [{ type: Schema.Types.ObjectId, ref: 'Person' }]
});

var Story  = mongoose.model('Story', storySchema);
var Person = mongoose.model('Person', personSchema);

Vì vậy, ví dụ về, Story cửa hàng mô hình có liên quan Person._id trong Story._creator . Khi bạn tìm thấy một tài liệu của Story , bạn có thể sử dụng populate() phương pháp để xác định thuộc tính nào trong Person mô hình bạn muốn truy xuất cùng lúc, chẳng hạn như:

Story.findOne({_id: 'xxxxxxx'}).populate('person', 'name age').exec(function(err, story) {
  console.log('Story title: ', story.title);
  console.log('Story creator', story.person.name);
});

Tôi tin rằng đây là những gì bạn đang tìm kiếm. Hoặc nếu không, bạn có thể sử dụng các bộ sưu tập lồng nhau để thay thế.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb đứng ở đâu trong định lý CAP?

  2. BsonSerializationException khi tuần tự hóa một Từ điển <DateTime, T> thành BSON

  3. Sửa đổi và phát lại oplog MongoDB

  4. dân số đệ quy mongoose

  5. nhận các thuộc tính lược đồ từ Mô hình Mongoose