MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Referensi dokumen luwak dengan hubungan satu-ke-banyak

Lihat populasi, di sini ekstrak contoh dari 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);

Jadi contoh tentang, Story toko model terkait Person._id di Story._creator . Saat Anda menemukan dokumen Story , Anda dapat menggunakan populate() metode untuk menentukan atribut mana dalam Person model yang ingin Anda ambil secara bersamaan, seperti:

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

Saya percaya ini adalah apa yang Anda cari. Atau, Anda dapat menggunakan koleksi bersarang sebagai gantinya.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Memperbarui sejumlah besar catatan dalam koleksi

  2. MongoDB $lookup Objectid mendapatkan array kosong?

  3. Bagaimana MongoDB menghindari kekacauan injeksi SQL?

  4. MongoDB C#:Serialisasi ID pola terbaik

  5. MongoDB - Perbarui Dokumen