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

Jak zainicjować dane zależne w Node/MongoDB?

używanie asynchronii może być bardzo przydatne.
Cała logika biznesowa/zadanie w ostatecznym rozrachunku to tylko sekwencja operacji. wodospad jest abstrakcją bardzo przydatną dla twojego rozwiązania.

na przykład:seed.js

var User = require('../path/to/your/models/User');
var Post = require('../path/to/your/models/Post');
var DB   = require('../path/to/your/database/boot/module');
var config = require('../path/to/your/configuration');

function startDB(config, callback) {
  DB.start(config, callback);
}

function createUsers(userParams, callback) {
  User.save(userParams, callback); 
}

function createPost(users, callback) {
  Post.save(users, callback);
}

function resolvedCallback(err, posts) {
  if (err)
    return your-error-handling-here;

  console.log(posts);
  DB.cleanup(console.log.bind(null, 'clean up finished: '));
}

async.waterfall([
  async.constant({ db: config.dbOpts}),
  startDB, // we don't need the wrapper, we could use DB.start
  createUsers,
  createPost ], resolvedCallback);

Jeśli używasz jakiegoś frameworka testowego (mokka/taśma), możesz zainicjować bazę danych przed wszystkimi testami i oczyścić ją przed rozpoczęciem/po wszystkich testach.

wiwaty




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. jak dodać nowe pola do schematu solr

  2. MONGODB [DEBUG] cursor.refresh() dla kursora 7078636577051629992

  3. Nie można połączyć Hive z MongoDB za pomocą złącza mongo-hadoop

  4. Loopback ValidationError:instancja „Role” jest nieprawidłowa. Szczegóły:„nazwa” już istnieje (wartość:admin)

  5. Dopasowanie pola tablicy, które zawiera dowolną kombinację podanej tablicy w MongoDB