Zdecydowanie odradzałbym udostępnianie obrazów z MongoDB.
Byłoby lepiej przechowywać je w statycznym magazynie plików (S3) i być może zachować ścieżkę w MongoDB.
Prawdopodobnie użyłbyś kodowania base64, aby umieścić plik w mongodb:http://www.greywyvern .com/code/php/binary2base64/ (lub po prostu narzędzie powłoki base64).
Jeśli używasz tylko zwykłych dokumentów, koszt wydajności jest stosunkowo niski (o ile buforowanie jest dobre). Jeśli używasz mieszanej bazy danych, w której masz GridFS i zwykłe dokumenty, będziesz potrzebować dużo pamięci RAM na swoim serwerze (serwerach) -- zapytania GridFS będą działały zupełnie inaczej niż zapytania dotyczące dokumentów.
Konwersja obrazu może wyglądać tak:
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()})