gpt4 book ai didi

Node.js + MongoDB + Express + Mongoose 。如何通过简单的代码要求特定文件夹中的所有模型?

转载 作者:可可西里 更新时间:2023-11-01 09:17:59 26 4
gpt4 key购买 nike

考虑这是我的文件夹结构

express_example
|---- app.js
|---- models
|-------- songs.js
|-------- albums.js
|-------- other.js
|---- and another files of expressjs

我的代码在文件 songs.js

var mongoose = require('mongoose')
, Schema = mongoose.Schema
, ObjectId = Schema.ObjectId;

var SongSchema = new Schema({
name: {type: String, default: 'songname'}
, link: {type: String, default: './data/train.mp3'}
, date: {type: Date, default: Date.now()}
, position: {type: Number, default: 0}
, weekOnChart: {type: Number, default: 0}
, listend: {type: Number, default: 0}
});

mongoose.model('Song', SongSchema);

在文件 albums.js 中

  var mongoose = require('mongoose')
, Schema = mongoose.Schema
, ObjectId = Schema.ObjectId;

var AlbumSchema = new Schema({
name: {type: String, default: 'songname'}
, thumbnail: {type:String, default: './images/U1.jpg'}
, date: {type: Date, default: Date.now()}
, songs: [SongSchema]
});
mongoose.model('Album', AlbumSchema);

我可以通过以下方式获得任何模型:

require('mongoose').model(name_of_model);

但是如何通过一个简单的代码而不是 name_of_model 来获取特定文件夹中的所有模型?在上面的示例中,文件夹中的所有模型 ./models/*

最佳答案

var models_path = __dirname + '/app/models'
fs.readdirSync(models_path).forEach(function (file) {
require(models_path+'/'+file)
})

关于Node.js + MongoDB + Express + Mongoose 。如何通过简单的代码要求特定文件夹中的所有模型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14118492/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com