Tôi khuyên bạn không nên duy trì một kết nối nếu bạn muốn bất kỳ loại khả năng mở rộng nào.
Có một số tùy chọn để gộp kết nối, v.v., nhưng hầu hết những người dành bất kỳ thời gian nào cho Node và MongoDB cuối cùng sẽ chuyển sang Mongoose vào một thời điểm nào đó.
Ngoài việc thêm một lớp lược đồ đẹp, nó cung cấp tính trừu tượng hóa kết nối để bạn có thể mặc định là kết nối được chia sẻ bằng cách gọi mongoose.connect()
hoặc bạn có thể tạo nhiều kết nối hoặc tham gia vào quá trình gộp kết nối bằng cách gọi mongoose.createConnection()
. Trong cả hai trường hợp, bạn gọi nó mà không cần gọi lại và máy móc mongoose sẽ trì hoãn các cuộc gọi tiếp theo tới mô-đun cho đến khi kết nối được thiết lập, do đó mã của bạn không cần quan tâm.
Một cái gì đó giống như trường hợp sử dụng của bạn có thể trông giống như vậy:
// 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
Sau đó, trong ./models/user.js
const mongoose = require('mongoose'),
Schema = mongoose.Schema;
const UserSchema = new Schema({
name: String,
age: Number,
roles: [String]
});
mongoose.model('User',UserSchema);
cuối cùng, giả sử một chức năng hạt giống để tạo nhóm người dùng ban đầu của bạn:
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);