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

パラメータ+node.js+子プロセスを使用したmongoexport

    スポーンの構文は次のとおりです。

    spawn(<command>, [array of arguments]);
    

    たとえば、lsを実行します -l /homeを使用したコマンド オプションは次のようになります:

    ls = spawn('ls', ['-l', '/home'];
    

    したがって、spawn('mongoexport',['--csv']); は正しい方向に向かっていますが、mongoexport --csv 有効じゃない。そのため、エラーが発生します。 mongoexportには、--csv以上のものが必要です。 。上記のように、たとえば、データベース名を指定する必要があります(-d "lms" )、コレクション名(-c "databases" )、フィールド名(--fields firstname,lastname )など

    あなたの場合、それは次のようになります:

     var spawn = require('child_process').spawn;
     app.get('/export', function(req, res) {
         var mongoExport = spawn('mongoexport', [ 
             '--db', 'lms', '--collection', 'databases', 
             '--fields',
             'firstname,lastname,email,daytimePhone,addressOne,city,state,postalCode,areaOfStudy,currentEducationLevel,company',   
             '--csv'
         ]);
    
         res.set('Content-Type', 'text/plain');
         mongoExport.stdout.on('data', function (data) {
             if (data) {
                 // You can change or add something else here to the
                 // reponse if you like before returning it.  Count
                 // number of entries returned by mongoexport for example
                 res.send(data.toString());
             } else {
                 res.send('mongoexport returns no data');
             }
         });
    }
    


    1. ネストされたドキュメントでMongoDbTTLは可能ですか?

    2. 他のコンテナからのDockermongoイメージ「接続が拒否されました」

    3. MongoDB $ minutes

    4. MongoDBは今日のレコードを見つけます