Opsi 1:Gunakan objek bersama
Kode model saya terlihat serupa, tetapi alih-alih berulang kali membutuhkan modul, saya hanya memintanya sekali ketika aplikasi dimulai dan kemudian menetapkan hasilnya ke objek bersama. Misalnya jika Anda menggunakan aplikasi ekspres, Anda bisa melakukan sesuatu seperti app.locals.models.User = require('./models/user');
. Lalu apa saja yang memiliki akses ke app
dapat melihat model Anda tanpa memerlukan persyaratan.
Opsi 2:Pastikan satu modifikasi dalam fungsi yang diekspor
Anda dapat menentukan modul pengguna Anda seperti ini:
var mongoose = require('mongoose');
var userSchema = new mongoose.Schema({name: String});
var User = null;
module.exports = function(db) {
if (db && User === null) {
User = db.model('User', userSchema);
}
return User;
};
Saat memulai aplikasi, Anda hanya perlu:require('./models/user')(db)
. Persyaratan selanjutnya oleh modul lain di aplikasi Anda dapat menjatuhkan db
parameter, sebagai User
hanya akan disetel sekali.