sql >> データベース >  >> NoSQL >> MongoDB

Node/MongoDBで依存データをシードする方法

    非同期の使用は非常に便利です。
    1日の終わりのすべてのビジネスロジック/タスクは、一連の操作にすぎません。ウォーターフォールは、ソリューションにとって非常に役立つ抽象化です。

    例: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);
    

    テストフレームワーク(mocha / tape)を使用している場合は、すべてのテストの前にデータベースを初期化し、すべてのテストの開始/後にクリーンアップすることができます。

    乾杯




    1. JSON文字列からBSONオブジェクトを作成する

    2. マングーススキーマを別のスキーマファイルにインポートすると、インポートされたスキーマが未定義になります

    3. 一意のフィールドを持つすべてのドキュメントの流星クエリ

    4. mongodbのフィールドの自動計算