获取(关联)Mongoose模型数组

时间:2017-06-07 18:10:17

标签: node.js mongoose mongoose-schema mongoose-models

你可以像这样检索一个Mongoose模型:

让User = mongoose.model(' User');

我希望得到这些模型的关联数组。 是否有一些聪明的方法来获取使用对象解构的模型列表?类似的东西:

const {User, Employees, Managers} = mongoose.model('x');

我目前的解决方案是:

/project
  /models
    index.js

其中index.js如下所示:

module.exports = {
  User: require('./user'),
  Employee: require('./employee'),
  Manager: require('./manager'),
};

user.js,employee.js和manager.js文件的位置如下:

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

let userSchema = new Schema({...});

module.exports = mongoose.model('User', userSchema, 'users');

然后我可以这样做:

 const {User, Employees, Managers} = require('./models');

但我正在寻找一种更好的解决方案,如果可能的话,不需要手动工作。

1 个答案:

答案 0 :(得分:2)

const models = {};
mongoose.modelNames().forEach(function(modelName){
    models[modelName] = mongoose.model(modelName);
});
console.log(models);