MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

NodeJS Mongo - Mongoose - dynamiczna nazwa kolekcji


Witam, wystarczy zadeklarować model schematu z nazwą dynamiczną, w ten sposób:

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;

więc w kodzie wszędzie możesz to zrobić:

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

Teraz przejdź do kolekcji powłoki mongo i listy (użyj mydb, a następnie pokaż kolekcje), zobaczysz nową kolekcję dla adresu z prefiksem uid. W ten sposób mangusta utworzy nowy adres kolekcji dla każdego innego użytkownika użytkownika.



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Jak mogę przeprowadzić wyszukiwanie warunkowe w pymongo?

  2. MongoDb przez jndi

  3. Ostrzeżenie:uzyskiwanie dostępu do nieistniejącej właściwości „MongoError” eksportu modułu wewnątrz zależności cyklicznej

  4. MongoDB count() kontra countDocuments()

  5. MongoDB - indeks wewnętrznej listy obiektów