Saya akan merekomendasikan untuk tidak mempertahankan satu koneksi jika Anda menginginkan skalabilitas apa pun.
Ada sejumlah opsi untuk penyatuan koneksi, dll, tetapi kebanyakan orang yang menghabiskan waktu dengan Node dan MongoDB akhirnya pindah ke Mongoose di beberapa titik.
Selain menambahkan lapisan skema yang bagus, ia menawarkan abstraksi koneksi sehingga Anda dapat default ke koneksi bersama dengan memanggil mongoose.connect()
, atau Anda dapat membuat beberapa koneksi atau berpartisipasi dalam penggabungan koneksi dengan memanggil mongoose.createConnection()
. Dalam kedua kasus, Anda memanggilnya tanpa panggilan balik, dan mesin luwak akan menunda panggilan berikutnya ke modul sampai setelah koneksi dibuat, sehingga kode Anda tidak perlu peduli.
Sesuatu seperti kasus penggunaan Anda mungkin terlihat seperti ini:
// in your app.js or server.js file
var mongoose = require('mongoose');
mongoose.connect(config.db.url); // assuming you have some module that handles config variables
Kemudian di ./models/user.js
const mongoose = require('mongoose'),
Schema = mongoose.Schema;
const UserSchema = new Schema({
name: String,
age: Number,
roles: [String]
});
mongoose.model('User',UserSchema);
akhirnya, katakanlah fungsi seed untuk membuat kumpulan pengguna awal Anda:
const mongoose = require('mongoose'),
User = mongoose.model('User');
// create some users
var user1 = new User({name: 'modulus admin', age: 42, roles: ['admin', 'moderator', 'user']});
var user2 = new User({name: 'modulus user', age: 22, roles: ['user']});
user1.save(console.log);
user2.save(console.log);