У меня есть следующая структура каталогов Node.js.
|--app/
|--app.js
|--routers/
|--index.js/
|--models/
|--schemas.js
|--post.js
В app.jsесть такая строка mongoose.connect('mongodb://localhost/' + config.DB_NAME);
. В schema.js:
var mongoose = require('mongoose')
, Schema = mongoose.Schema
, ObjectId = Schema.ObjectId;
var PostSchema = new Schema({
title: String
, author: String
, body: String
, creataAt: {
type: Date
, default: Date.now
}
});
// other schemas goes here
module.exports.PostSchema = PostSchema;
В post.js:
var mongoose = require('mongoose')
, PostSchema = require('./schemas').PostSchema
, PostModel = mongoose.model('Post', PostSchema);
module.exports = PostModel;
И в index.jsможет быть такая строка: var PostModel = require('../models/post');
. Для всех упомянутых выше файлов требуется mongoose. Цель schemas.js— помочь программистам понять схему базы данных в одном файле. Однако мне интересно, вызывает ли эта реализация избыточность и дополнительные накладные расходы, поскольку мне иногда требуются mongoose. Должен ли я передавать его как аргументвокруг?