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

Как да заредите зависими данни в Node/MongoDB

използването на async може да бъде много удобно.
цялата бизнес логика/задача в края на деня е просто последователност от операции. waterfall е абстракция, много полезна за вашето решение.

например: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);

Ако използвате някаква тестова рамка (мока/лента), можете да инициализирате базата данни преди всичките си тестове и да изчистите преди стартиране/след всички тестове.

наздраве




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Не може да се свърже с отдалечен сървър на mongodb

  2. Mongo Db търсене по индексирано поле

  3. Защо това изчаква работата на външната асинхронна функция?

  4. Mongoose не може да се свърже без интернет

  5. Инсталирането на Mongodb е неуспешно с homebrew и Xcode 8.1.1