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

Lưu trữ hình ảnh trong Mongodb phân phát chúng với Nodejs

Tôi thực sự khuyên bạn không nên cung cấp hình ảnh từ MongoDB.

Sẽ tốt hơn nếu lưu trữ chúng trên một kho lưu trữ tĩnh (S3) và có thể giữ nguyên đường dẫn trong MongoDB.

Có thể bạn sẽ sử dụng mã hóa base64 để đưa tệp vào mongodb: http://www.greywyvern .com / code / php / binary2base64 / (hoặc chỉ tiện ích shell base64).

Nếu bạn chỉ sử dụng các tài liệu thông thường thì chi phí hiệu suất tương đối thấp (miễn là bộ nhớ đệm tốt). Nếu bạn đang sử dụng cơ sở dữ liệu hỗn hợp trong đó bạn có GridFS và các tài liệu thông thường, bạn sẽ cần nhiều RAM trên (các) máy chủ của mình - các truy vấn GridFS sẽ chạy hoàn toàn khác với các truy vấn tài liệu.

Việc chuyển đổi hình ảnh có thể hoạt động như thế này:

var base64Data = imagefile.replace(/^data:image\/png;base64,/,""),
var dataBuffer = new Buffer(base64Data, 'base64');

// below line won't actually work but it's something along the lines of what you want:

db.foo.insert({magic: 123, etc... img: dataBuffer.toString()})


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Mongodb có thể được sử dụng như một cơ sở dữ liệu nhúng không?

  2. Xu hướng NoSQL - MongoDB, Cassandra, CouchDB &Riak

  3. Có gì mới trong MongoDB 4.4

  4. Mật khẩu và tên người dùng MongoDb và morphia

  5. Sự khác biệt giữa MongoDB Atlas và MongoDB Atlas cho AWS