Nedoporučoval bych udržovat jedno připojení, pokud chcete jakoukoli škálovatelnost.
Existuje řada možností pro sdružování připojení atd., ale většina lidí, kteří tráví jakýkoli čas s Node a MongoDB, se v určitém okamžiku přesunou do Mongoose.
Kromě přidání pěkné vrstvy schématu nabízí abstrakci připojení, takže můžete jako výchozí použít sdílené připojení voláním mongoose.connect()
, nebo můžete vytvořit více připojení nebo se zúčastnit sdružování připojení voláním mongoose.createConnection()
. V obou případech to zavoláte bez zpětného volání a mašinérie mongoose odloží následující volání modulu, dokud nebude spojení navázáno, takže váš kód to nemusí zajímat.
Něco jako váš případ použití může vypadat takto:
// 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
Poté v souboru ./models/user.js
const mongoose = require('mongoose'),
Schema = mongoose.Schema;
const UserSchema = new Schema({
name: String,
age: Number,
roles: [String]
});
mongoose.model('User',UserSchema);
konečně, řekněme, seed funkce pro vytvoření vaší počáteční dávky uživatelů:
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);