Бих силно препоръчал да не се показват изображения от MongoDB.
Би било по-добре да ги съхранявате в статично файлово хранилище (S3) и може би да запазите пътя в MongoDB.
Вероятно ще използвате base64 кодиране, за да поставите файла в mongodb:http://www.greywyvern .com/code/php/binary2base64/ (или просто base64 shell помощна програма).
Ако просто използвате обикновени документи, тогава разходите за производителност са относително ниски (стига кеширането да е добро). Ако използвате смесена база данни, където имате GridFS и обикновени документи, ще имате нужда от много RAM на вашия сървър(и) -- заявките за GridFS ще се изпълняват напълно различно от заявките за документи.
Преобразуването на изображението може да работи по следния начин:
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()})