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

ファイルのダウンロードがnodejsgridfsで機能していません

    paramsで値を確認する必要があるかもしれません。しかし、うまくいけば、これは近く 最小限のサンプルはいくつかの助けを提供します:

    更新

    また、_idを検索していることが強調表示されるため、役に立ちました。 ファイル名として。代わりに、これを行う必要があります:

    .createReadStream({
        _id: req.param('filename')
    })
    

    そうでない場合

    .createReadStream({
        _id: mongoose.Types.ObjectId(req.param('filename'))
    })
    

    _id以降 フィールドがファイル名と異なります

    app.js

    var express = require('express');
    var routes = require('./routes');
    var http = require('http');
    var path = require('path');
    
    var app = express();
    
    var mongoose = require('mongoose');
    var Grid = require('gridfs-stream');
    Grid.mongo = mongoose.mongo;
    
    var conn = mongoose.createConnection('mongodb://localhost/mytest');
    
    conn.once('open', function() {
        console.log('opened connection');
        gfs = Grid(conn.db);
    
        // all environments
        app.set('port', process.env.PORT || 3000);
        app.use(express.logger('dev'));
        app.use(app.router);
    
        // development only
        if ('development' == app.get('env')) {
            app.use(express.errorHandler());
        }
    
        app.get('/', routes.index);
    
        http.createServer(app).listen(app.get('port'), function(){
            console.log('Express server listening on port ' + app.get('port'));
        });
    
    });
    

    routers / index.js

    exports.index = function(req, res){
    
        res.set('Content-Type', 'image/jpeg');
        gfs.createReadStream({
            filename: 'receptor.jpg'
        }).pipe(res);
    
    };
    



    1. マングースでのスキーマ変更への対処

    2. MongoDB3.0Javaドライバーで結果をカウントする

    3. マングースモデルでメソッドを定義するにはどうすればよいですか?

    4. Redis `SCAN`:一致する可能性のある新しいキー間のバランスを維持し、最終的な結果を妥当な時間で確保するにはどうすればよいですか?