MongoDB
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> MongoDB

Sử dụng MongoDB, Express, Node.Js và GridFS-stream để lưu trữ các tệp video và hình ảnh

Bạn có thể tải lên trực tiếp mà không cần sử dụng mongoose sử dụng gridfs-stream đơn giản như:

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

cho các tệp hoàn chỉnh và dự án đang chạy:

Clone node-cheat direct_upload_gridfs , chạy ứng dụng nút node app theo sau là npm install express mongodb gridfs-stream .

HOẶC

Làm theo các bước dành cho bé tại Node-Cheat Tải lên trực tiếp qua GridFS README.md



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Lược đồ đơn giản Meteor - Khi tùy chọn bổ trợ là đúng, đối tượng xác nhận phải có ít nhất một toán tử

  2. MongoDB:truy vấn phạm vi về thời gian chèn với _id và ObjectID

  3. passport.js - xác thực người dùng từ MongoDB bằng passport-local

  4. PHP MongoDB cập nhật nhiều tài liệu bằng cách sử dụng $ in / $ hoặc

  5. Độ dài ID bộ sưu tập trong MongoDB