sql >> データベース >  >> NoSQL >> MongoDB

DBを操作するたびにMongoDB接続を開く必要がありますか?

    何らかのスケーラビリティが必要な場合は、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);
    


    1. MongoDBで日付から月を取得する5つの方法

    2. MongoDBはネストされた配列を更新します

    3. 複数のフィールドによるグループコレクションデータmongodb

    4. Mongodbの一括書き込みエラー