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

Mongodb dan Express

http://mongoosejs.com/docs/populate.html menguraikan dengan contoh yang sangat bagus. Saya telah mengekstrak intinya di sini untuk Anda

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

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

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

}

jadi sekarang Anda memiliki dua model cerita dan orang di mana cerita merujuk orang melalui kolom _creator.

sekarang untuk mengisi _creator saat melakukan kueri melalui cerita, Anda melakukan hal berikut:

{

Story
.findOne({ title: 'Once upon a timex.' })
.populate('_creator')
.exec(function (err, story) {
  if (err) return handleError(err);
  console.log('The creator is %s', story._creator.name);
  // prints "The creator is Aaron"
});
}

tetapi Anda juga perlu memastikan bahwa Anda telah menyimpan catatan dengan benar agar dapat mengambilnya kembali dengan benar. saat menyimpan, Anda hanya perlu menetapkan _id. lihat di bawah.

{
var aaron = new Person({ _id: 0, name: 'Aaron', age: 100 });

aaron.save(function (err) {
  if (err) return handleError(err);

  var story1 = new Story({
    title: "Once upon a timex.",
    _creator: aaron._id    // assign the _id from the person
  });

  story1.save(function (err) {
    if (err) return handleError(err);
    // thats it!
  });
});

}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Ekstrak Desimal dari Desimal128 dengan Mongoose - MongoDB

  2. Meteor:mengunggah file dari klien ke koleksi Mongo vs sistem file vs GridFS

  3. Pencarian Spring Boot Mongodb berdasarkan ID mengembalikan nol

  4. Kinerja MongoDB toArray

  5. Bagaimana cara menampilkan gambar yang diunggah di back-end Keystonejs