sql >> Databáze >  >> NoSQL >> MongoDB

Jak seedovat závislá data v Node/MongoDB

použití async by mohlo být velmi užitečné.
veškerá obchodní logika/úkol na konci dne je pouze sled operací. vodopád je abstrakce velmi užitečná pro vaše řešení.

například: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);

Pokud používáte nějaký testovací rámec (mocha/páska), můžete inicializovat databázi před všemi testy a vyčistit před spuštěním/po všech testech.

na zdraví




  1. Chcete provést přírůstkovou zálohu pro mongodb. Vedení deníku? Oplog?

  2. Položka seznamu Redis Pop Podle počtu položek

  3. Zastaralý analyzátor těl?

  4. Práce s vnořenými objekty v Redis?