MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Необходимо ли е да отварям MongoDB връзка всеки път, когато искам да работя с DB?

Бих препоръчал да не поддържате една връзка, ако искате някакъв вид мащабируемост.

Има редица опции за групиране на връзки и т.н., но повечето хора, които прекарват каквото и да е време с Node и MongoDB, в крайна сметка преминават към Mongoose в даден момент.

В допълнение към добавянето на хубав слой на схемата, той предлага абстракция на връзката, така че да можете да използвате споделена връзка по подразбиране, като извикате mongoose.connect() , или можете да създадете множество връзки или да участвате в групирането на връзки, като извикате mongoose.createConnection() . И в двата случая вие го извиквате без обратно извикване и машината mongoose ще отложи следващите извиквания към модула, докато връзката не бъде установена, така че кодът ви да не се интересува.

Нещо като вашия случай на употреба може да изглежда така:

// 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. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB C# драйвер 2.0 InsertManyAsync срещу BulkWriteAsync

  2. Многократна актуализация на Mongoose

  3. Как да избегнем изключение Преждевременно достигнат край на потока с помощта на mongoDB Java драйвер 3.4+ или 3.6+? (по време на поставяне)

  4. MongoDB актуализира всички полета за грешка в масива

  5. Как да форматирате датата в MongoDB