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

Mewarisi skema luwak

Discriminators adalah mekanisme pewarisan skema. Mereka memungkinkan Anda untuk memiliki beberapa model dengan skema yang tumpang tindih di atas koleksi MongoDB dasar yang sama . daripada dokumen yang berbeda. Sepertinya Anda salah memahami discriminators dari luwak. Berikut adalah satu artikel yang dapat membantu Anda menangkapnya dengan benar.

Panduan untuk diskriminator luwak

Berikut adalah beberapa contoh kode untuk memenuhi kebutuhan Anda, untuk menyimpan skema turunan sebagai dokumen terpisah

function AbstractEntitySchema() {   
    //call super        
    Schema.apply(this, arguments);     
    //add                                     
    this.add({                              
        entityName: {type: String, required: false},
        timestamp: {type: Date, default: Date.now},
        index: {type: Number, required: false},
        objectID: {type: String},
        id: {type: String}
    });                                     
};
util.inherits(AbstractEntitySchema, Schema);

//Message Schema
var MessageSchema = new AbstractEntitySchema();
MessageSchema.add({
    text: {type: String, required: true},
    author: {type: String, required: true},
    type: {type: String, required: false}
});

//Room Schema
var RoomSchema = new AbstractEntitySchema();
RoomSchema.add({
    name: {type: String, required: true},
    author: {type: String, required: false},
    messages : [MessageSchema],
});

var Message = mongoose.model('Message', MessageSchema);
var Room = mongoose.model('Room', RoomSchema);

// save data to Message and Room

var aMessage = new Message({
     entityName: 'message',
     text: 'Hello',
     author: 'mmj',
     type: 'article'
    });

 var aRoom = new Room({
     entityName: 'room',
     name: 'Room1',
     author: 'mmj',
     type: 'article'
 });

 aRoom.save(function(err, myRoom) { 
    if (err)
        console.log(err);
    else                                  
        console.log("room is saved"); 
 });

 aMessage.save(function(err) {
    if (err)
        console.log(err);
    else
        console.log('user is saved');
 });


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. 10 platform hosting MongoDB terbaik

  2. Cara mendapatkan database Mongo yang ditentukan dalam string koneksi di C #

  3. Batalkan convertToCapped ke koleksi

  4. Apakah fungsi luwak yang berbeda mendukung regex dalam kueri?

  5. Hitung nilai lewati untuk catatan yang diberikan untuk paging yang diurutkan