MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Menggunakan MongoDB, Express, Node.Js dan GridFS-stream untuk menyimpan file video dan gambar

Anda dapat melakukan upload langsung tanpa menggunakan mongoose menggunakan gridfs-stream sesederhana:

var express = require('express'),
    mongo = require('mongodb'),
    Grid = require('gridfs-stream'),
    db = new mongo.Db('node-cheat-db', new mongo.Server("localhost", 27017)),
    gfs = Grid(db, mongo),
    app = express();

db.open(function (err) {
    if (err) return handleError(err);
    var gfs = Grid(db, mongo);
    console.log('All set! Start uploading :)');
});

//POST http://localhost:3000/file
app.post('/file', function (req, res) {
    var writeStream = gfs.createWriteStream({
        filename: 'file_name_here'
    });
    writeStream.on('close', function (file) {
        res.send(`File has been uploaded ${file._id}`);
    });
    req.pipe(writeStream);
});

//GET http://localhost:3000/file/[mongo_id_of_file_here]
app.get('/file/:fileId', function (req, res) {
    gfs.createReadStream({
        _id: req.params.fileId // or provide filename: 'file_name_here'
    }).pipe(res);
});

app.listen(process.env.PORT || 3000);

untuk menyelesaikan file dan menjalankan proyek:

Klon node-cheat direct_upload_gridfs , jalankan node app diikuti oleh npm install express mongodb gridfs-stream .

ATAU

Ikuti langkah-langkah awal di Node-Cheat Unggah Langsung melalui GridFS README.md



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara mengatur Play!2.5 dengan ReactiveMongo

  2. Perbarui elemen array bersarang di mongodb

  3. Cara menghapus kolom dari koleksi anak

  4. MongoDB Stitch mengembalikan data sebagai $NumberDouble alih-alih nomor itu sendiri

  5. Efek generasi mongodb _id pada Pengindeksan