sql >> Databasteknik >  >> NoSQL >> MongoDB

Är det nödvändigt att öppna MongoDB-anslutningen varje gång jag vill arbeta med DB?

Jag skulle rekommendera att inte behålla en anslutning om du vill ha någon form av skalbarhet.

Det finns ett antal alternativ för anslutningspooling, etc, men de flesta som spenderar någon tid alls med Node och MongoDB slutar med att flytta till Mongoose någon gång.

Förutom att lägga till ett snyggt schemalager, erbjuder det anslutningsabstraktion så att du som standard kan använda en delad anslutning genom att anropa mongoose.connect() , eller så kan du skapa flera anslutningar eller delta i anslutningspoolning genom att anropa mongoose.createConnection() . I båda fallen ringer du det utan att ringa tillbaka, och mongoose-maskineriet kommer att skjuta upp efterföljande samtal till modulen tills efter att anslutningen har upprättats, så att din kod inte behöver bry sig.

Något liknande ditt användningsfall kan se ut så här:

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

Sedan i ./models/user.js

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

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

slutligen, låt oss säga en fröfunktion för att skapa din första grupp användare:

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 fyll i data som inte ingår i frågeresultatet

  2. Räknar socket.io-användare över horisontella servrar

  3. Kontrollera om mongodb-databasen finns?

  4. hur man använder mongoimport för att importera en json-fil