【问题标题】:Passing collection name to mongoose models将集合名称传递给猫鼬模型
【发布时间】:2016-02-22 00:26:59
【问题描述】:
var mongoose = require('mongoose'),
Schema = mongoose.Schema;

var sensorModel = new Schema({
key: String,
value: Schema.Types.Mixed
})
modules.export = mongoose.model('collectionName',sensorModel);

我想将我的主 app.js 文件中的集合名称传递给它,然后在模型代码中指定它,有没有办法可以做到这一点?

【问题讨论】:

    标签: node.js mongodb mongoose mongoose-schema


    【解决方案1】:

    请使用Template string 尝试如下

    sensorModel.js

    module.exports = function (modelName) { 
        // sensorModel definition...
        //...
    
        var str = `${modelName}`;
        mongoose.model(str, sensorModel);
    });
    

    app.js

    var modelName = 'collectionName';
    require('./models/sensorModel.js')(modelName); // require the model file before invoking `mongoose.model`.
    var CollectionName = mongoose.model('collectionName');
    

    【讨论】:

    • var sensorData = require('./models/sensorModel'); 我如何将集合名称传递给它,
    猜你喜欢
    • 2013-02-04
    • 2017-02-26
    • 1970-01-01
    • 2014-02-21
    • 1970-01-01
    • 2015-09-17
    • 2014-10-17
    • 2014-04-11
    • 1970-01-01
    相关资源
    最近更新 更多