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

Isi model luwak dengan bidang yang bukan id

Ini didukung sejak Mongoose 4.5 , dan disebut populasi virtual .

Anda harus mendefinisikan hubungan kunci asing setelah definisi skema dan sebelum membuat model , seperti ini:

// Schema definitions

BookSchema = new mongoose.Schema({
        ...,
        title: String,
        authorId: Number,
        ...
    },
    // schema options: Don't forget this option
    // if you declare foreign keys for this schema afterwards.
    {
        toObject: {virtuals:true},
        // use if your results might be retrieved as JSON
        // see http://stackoverflow.com/q/13133911/488666
        //toJSON: {virtuals:true} 
    });

PersonSchema = new mongoose.Schema({id: Number, ...});


// Foreign keys definitions

BookSchema.virtual('author', {
  ref: 'Person',
  localField: 'authorId',
  foreignField: 'id',
  justOne: true // for many-to-1 relationships
});


// Models creation

var Book = mongoose.model('Book', BookSchema);
var Person = mongoose.model('Person', PersonSchema);


// Querying

Book.find({...})
    // if you use select() be sure to include the foreign key field !
    .select({.... authorId ....}) 
    // use the 'virtual population' name
    .populate('author')
    .exec(function(err, books) {...})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Sisipan MongoDB Banyak ()

  2. Pencarian teks lengkap dengan bobot luwak

  3. Bagaimana cara menghapus entri duplikat dari array?

  4. mongodb dapatkan _id sebagai string dalam permintaan pencarian

  5. Bagaimana cara mencatat kueri yang dieksekusi oleh Spring Data MongoDB?