将集合名称传递给猫鼬模型

Passing collection name to mongoose models

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 主文件中的集合名称传递给它,然后在模型代码中指定它,有什么方法可以做到这一点吗?

请尝试使用 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');