sql >> データベース >  >> NoSQL >> MongoDB

NodeJSMongo-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シェルとリストコレクションに移動し(mydbを使用してからコレクションを表示)、uidプレフィックスが付いたアドレスの新しいコレクションが表示されます。このようにして、mongooseは異なるユーザーuidごとに新しい1つのコレクションアドレスを作成します。



    1. Golang + MongoDB埋め込み型(構造体を別の構造体に埋め込む)

    2. 挿入されたデータをリアルタイム(またはほぼリアルタイム)でストリーミングするMongoDb

    3. クラスパスリソースで定義された「mongobee」という名前のBeanの作成中にエラーが発生しました

    4. タグのMongoid/MongoDBツリーの構造に関する推奨事項