MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Czy konieczne jest otwieranie połączenia MongoDB za każdym razem, gdy chcę pracować z bazą danych?

Odradzałbym utrzymywanie jednego połączenia, jeśli chcesz jakąkolwiek skalowalność.

Istnieje wiele opcji puli połączeń itp., ale większość osób, które spędzają jakikolwiek czas z Node i MongoDB, w pewnym momencie przechodzi do Mongoose.

Oprócz dodania ładnej warstwy schematu oferuje abstrakcję połączenia, dzięki czemu możesz domyślnie korzystać z połączenia współdzielonego, wywołując mongoose.connect() lub możesz utworzyć wiele połączeń lub uczestniczyć w puli połączeń, wywołując mongoose.createConnection() . W obu przypadkach wywołujesz go bez wywołania zwrotnego, a maszyna mangusty odkłada kolejne wywołania modułu do czasu nawiązania połączenia, aby Twój kod nie musiał się tym przejmować.

Coś takiego jak Twój przypadek użycia może wyglądać tak:

// 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

Następnie w ./models/user.js

const mongoose = require('mongoose'),
         Schema   = mongoose.Schema;

   const UserSchema = new Schema({
      name: String,
      age: Number,
      roles: [String]
   });
   mongoose.model('User',UserSchema);

na koniec, powiedzmy, funkcja seed, aby utworzyć początkową grupę użytkowników:

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. Co się stanie, jeśli odprężenie zostanie zastosowane do pola, którego nie ma podczas używania agregacji w manguście?

  2. MongoDB:Zapytanie przez hash ze specjalnymi znakami w kluczach

  3. MongoDB $podłoga

  4. MongoDB $mul

  5. [Infografika] Porównanie Cassandry i MongoDB