MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

NodeJS Mongo - Mongoose - Име на динамична колекция


Здравейте, просто трябва да декларирате модел на схема с вашето динамично име, като това:

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

// our schema 

function dynamicSchema(prefix){
    var addressSchema = new Schema({
        dir : {type : String, required : true},    //los 2 nombres delimitados por coma (,) ej. Alberto,Andres
        city : {type : String, required: true},   //la misma estructura que para los nombres ej. Acosta, Arteta 
        postal : {type : Number, required : true},
        _home_type : {type : Schema.Types.ObjectId, required : true, ref : prefix + '.home_type'},
        state : {type : String, required : true},
        telefono : String,
        registered : {type : Date, default: Date.now }
    });
    return mongoose.model(prefix + '.address', addressSchema);
}

//no we export dynamicSchema function
module.exports = dynamicSchema;

така че във вашия код навсякъде можете да направите това:

var userAdress = require('address.js')(id_user);
var usrAdrs1 = new userAddress({...});
    userAdrs1.save();

Сега отидете на вашата mongo shell &колекция от списъци (използвайте mydb, след това покажете колекции), ще видите нова колекция за адрес с uid префикс. По този начин mongoose ще създаде нов адрес за колекция за всеки различен потребителски идентификатор.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Преглед на MongoDB Atlas:Част втора

  2. Резултатът от заявката Mongoose .find съдържа метаданни на заявката? не можете просто ръчно да проектирате всяко свойство на колекцията, как да получите само документа?

  3. Задаване на време на изтичане на колекция в mongodb с помощта на mongoose

  4. обектът на командния курсор не може да се записва

  5. Защо внедряването на bson java използва 4 байта inc поле?