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

Cara menggunakan GridFS untuk menyimpan gambar menggunakan Node.js dan Mongoose

Saya tidak puas dengan jawaban berperingkat tertinggi di sini dan jadi saya memberikan yang baru:Saya akhirnya menggunakan modul simpul 'gridfs-stream' (dokumentasi bagus di sana!) yang dapat diinstal melalui npm.Dengan itu, dan di kombinasi dengan luwak, itu bisa terlihat seperti ini:

var fs = require('fs');
var mongoose = require("mongoose");
var Grid = require('gridfs-stream');
var GridFS = Grid(mongoose.connection.db, mongoose.mongo);

function putFile(path, name, callback) {
    var writestream = GridFS.createWriteStream({
        filename: name
    });
    writestream.on('close', function (file) {
      callback(null, file);
    });
    fs.createReadStream(path).pipe(writestream);
}

Perhatikan bahwa path adalah path file pada sistem lokal.

Untuk fungsi membaca file saya, untuk kasus saya, saya hanya perlu mengalirkan file ke browser (menggunakan express):

try {
    var readstream = GridFS.createReadStream({_id: id});
    readstream.pipe(res);
} catch (err) {
    log.error(err);
    return next(errors.create(404, "File not found."));
}


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara mengizinkan semua host ke set replika di mongodb

  2. Bagaimana cara mempercepat Sisipan MongoDB/detik?

  3. Mongodb v4.0 Transaction, MongoError:Nomor transaksi hanya diperbolehkan pada anggota kumpulan replika atau mongo

  4. MongoDB $konversi

  5. Hapus duplikat di MongoDB