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()})