MongoClient.connect("mongodb://localhost:27017/exampleDb", function(err, db) { if(err) return console.dir(err); var grid = new Grid(db, 'fs'); var buffer = new Buffer("Hello world"); grid.put(buffer, {metadata:{category:'text'}, content_type: 'text'}, function(err, fileInfo) { grid.get(fileInfo._id, function(err, data) { console.log("Retrieved data: " + data.toString()); grid.delete(fileInfo._id, function(err, result) { }); }); }); });
fs.readFile(req.files[fileName].path, function (err, data) { var grid = new Grid(db, gridName); var buffer = new Buffer(data); grid.put(buffer, {metadata:{category:'text'}, content_type: 'image/jpeg'}, function(err, fileInfo) { if (err) { return callback(err); } var tags = req.body.tags.split(","); findAndModifyRepo(db, {"Username": req.cookies.loggedIn.Username}, req.body.repo_name, fileInfo._id, ".Pictures", function (err) { addTags(db, tags, fileInfo._id, function (err) { db.collection("Pictures").insert({"id": fileInfo._id, "Creator": req.cookies.loggedIn.Username}, callback); }); }); }); });
fs.readFile(item, function(err, data) { if (!err) { var grid = new Grid(db, gridName); var buffer = new Buffer(data); grid.put(buffer, {metadata:{category:'text'}, content_type: 'image/jpeg'}, function(err, fileInfo) { if (err) { return next(err); } findAndModifyRepo(db, {"Username": req.cookies.loggedIn.Username}, req.body.repo_name, fileInfo._id, ".Pictures", function (err) { addTags(db, tags, fileInfo._id, function (err) { if (err) { next(err); } else { db.collection("Pictures").insert({"id": fileInfo._id, "Creator": req.cookies.loggedIn.Username}, next); } }); }); }); } });
db.open(function (err, db) { // Create a new grid instance var grid = new Grid(db, 'fs'); // Some data to write var originalData = new Buffer('Hello world'); // Write data to grid grid.put(originalData, {}, function (err, result) { // Fetch the content grid.get(result._id, function (err, data) { assert.deepEqual(originalData.toString('base64'), data.toString('base64')); // Should fail due to illegal objectID grid.get('not an id', function (err, result) { assert.ok(err != null); db.close(); }); }); }); });
var setToGridFSFunction = function(obj, cb) { var grid = new mongo.Grid(db), id = Object.keys(obj)[0], fileName = obj[id].fileName, data = obj[id].data, contentType = obj[id].contentType, metaData = obj[id].metaData; logger.debug("mongoHelper-->setToGridFS-->fileName: " + fileName + " rootCollectionName: " + rootCollectionName); // determine the file type if it's not specified if (Ozone.Utils.isUndefinedOrNull(contentType)) { var mimeType = require('mime').lookup(fileName); contentType = !Ozone.Utils.isUndefinedOrNull(mimeType) ? mimeType : 'binary/octet-stream'; logger.debug("mongoHelper-->setToGridFS-->contentType was not set, now set to: " + mimeType); } logger.debug("mongoHelper-->setToGridFS-->going to set obj w/ id: " + id );//" value: " + JSON.stringify(value)); logger.debug("mongoHelper-->setToGridFS-->contentType: " + contentType); //use grid.put var options = { root: rootCollectionName, filename: fileName, // filename seems to be ignored when updating existing files content_type: contentType, metadata: metaData }; if (id != 'null') { options._id = convertObjectId(id); } grid.put(data, options, function(err, result) { if (err) return cb(nErr(err)); updatedResults.push(result); logger.debug("mongoHelper-->setToGridFS-->done with grid.put"); cb(); }); };