何らかのスケーラビリティが必要な場合は、1つの接続を維持しないことをお勧めします。
接続プールなどにはいくつかのオプションがありますが、NodeとMongoDBを使用するほとんどの人は、ある時点でMongooseに移行することになります。
優れたスキーマレイヤーを追加するだけでなく、接続の抽象化を提供するため、mongoose.connect()
を呼び出すことでデフォルトで共有接続にできます。 、またはmongoose.createConnection()
を呼び出すことで、複数の接続を作成したり、接続プールに参加したりできます。 。どちらの場合も、コールバックなしで呼び出します。マングースの機械は、接続が確立されるまでモジュールへの後続の呼び出しを延期するため、コードを気にする必要はありません。
ユースケースのようなものは次のようになります:
// 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
次に、。/ models / user.js
const mongoose = require('mongoose'),
Schema = mongoose.Schema;
const UserSchema = new Schema({
name: String,
age: Number,
roles: [String]
});
mongoose.model('User',UserSchema);
最後に、ユーザーの最初のバッチを作成するためのシード関数を考えてみましょう:
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);