sql >> Database teknologi >  >> NoSQL >> MongoDB

Gem billeder i Mongodb server dem med Nodejs

Jeg vil kraftigt fraråde at vise billeder fra MongoDB.

Det ville være bedre at gemme dem i et statisk fillager (S3) og måske beholde stien i MongoDB.

Du ville sandsynligvis bruge base64-kodning til at indsætte filen i mongodb:http://www.greywyvern .com/code/php/binary2base64/ (eller bare base64 shell-værktøj).

Hvis du bare bruger almindelige dokumenter, er ydeevneomkostningerne relativt lave (så længe caching er god). Hvis du bruger en blandet database, hvor du har GridFS og almindelige dokumenter, vil du få brug for en masse RAM på din(e) server(e) -- GridFS-forespørgslerne vil køre helt anderledes end dokumentforespørgslerne.

Konvertering af billedet kan fungere sådan her:

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. Connect-mongo-sessioner slettes ikke automatisk

  2. Tilføjelse af BSON-array til BsonDocument i MongoDB

  3. TransactionRequiredException Udførelse af en opdatering/sletningsforespørgsel

  4. Integration af mongodb med elasticsearch i node.js miljø