MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Speichern einer Datei in mongodb mit node.js

Wenn Ihre Dateigröße 16 MB überschreitet, die maximale Dokumentgröße von Mongo, müssen Sie gridFS verwenden, wenn Sie die Dateien in Ihrer DB speichern möchten.

Hier finden Sie eine sehr nützliche Zusammenfassung der Gründe für die Verwendung von gridFS:http://docs.mongodb.org/manual/faq/developers/#faq-developers-when-to-use-gridfs

In Bezug auf die Implementierung im Knoten (bei Verwendung des nativen Mongo-Treibers):

var  mongodb = require('mongodb')
   , MongoClient = mongodb.MongoClient
   , Grid = mongodb.Grid //use Grid via the native mongodb driver
   ;

Sobald Sie Ihre Verbindung eingerichtet haben, schreiben Sie die Datei in gridFs

var grid = new Grid(db, 'fs'); //db being a handle to your database

var buffer = //read the file in to a buffer

//write the buffer out to mongo
grid.put(buffer, {metadata:{category:'text'}, content_type: 'text'}, function(err, fileInfo) {
 if(err) {
   //handle any errors here
 }
});