示例#1
0
文件: answer.js 项目: mmchjl/answer
 mongo.mongo(function(err,db,release,genid){
     var grid = new Grid(db,"fs");
     grid.get(genid(question.imgId),function(err,data){
         release();
         question.imgData = data;
         cb(null,question);
     })
 })
示例#2
0
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) {
      });
    });
  });
});
示例#3
0
			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);
						});
					});
		  		});
			});
示例#4
0
            gIcons.get(new ObjectID(images.icon.key), function(err, data) {
              if(err) {
                res.send(500);
                console.log('Icon extraction error');
                return console.dir(err);
              }
              p.images.icon = data;
              p.images.icon2x = data;

              if (images.strip){
                gStrips.get(new ObjectID(images.strip.key),function(err,data){
                  if(err) {
                    res.send(500);
                    console.log('Strip extraction error');
                    return console.dir(err);
                  }
                  p.images.strip = data;
                  p.images.strip2x = data;

                  p.render(res,callback);
                });
              }else{
                p.render(res,callback);
              }

            });
示例#5
0
 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) {
     });
   });
 });
示例#6
0
            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();
                });
            });
示例#7
0
			    	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);
							    		}
							    	});
							    });
				        	});
				    }
				});
示例#8
0
    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();
                });
            });
        });
    });
示例#9
0
			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();
				});
			};
示例#10
0
      MongoClient.connect('mongodb://*****:*****@oceanic.mongohq.com:10091/smartplaces', function(err, db) {
        if(err) {
          res.send(500);
          return console.dir(err);
        }
        var gLogos = new Grid(db, 'cfs_gridfs.logos');
        var gIcons = new Grid(db, 'cfs_gridfs.icons');
        var gStrips = new Grid(db, 'cfs_gridfs.strips');

        if (images.logo && images.icon){
          gLogos.get(new ObjectID(images.logo.key), function(err, data) {
            if(err) {
              res.send(500);
              console.log('Logo extraction error');
              return console.dir(err);
            }
            p.images.logo = data;
            p.images.logo2x = data;

            gIcons.get(new ObjectID(images.icon.key), function(err, data) {
              if(err) {
                res.send(500);
                console.log('Icon extraction error');
                return console.dir(err);
              }
              p.images.icon = data;
              p.images.icon2x = data;

              if (images.strip){
                gStrips.get(new ObjectID(images.strip.key),function(err,data){
                  if(err) {
                    res.send(500);
                    console.log('Strip extraction error');
                    return console.dir(err);
                  }
                  p.images.strip = data;
                  p.images.strip2x = data;

                  p.render(res,callback);
                });
              }else{
                p.render(res,callback);
              }

            });
          });
        }else{
          if (images.strip){
            gStrips.get(new ObjectID(images.strip.key),function(err,data){
              if(err) {
                res.send(500);
                console.log('Strip extraction error');
                return console.dir(err);
              }
              p.images.strip = data;
              p.images.strip2x = data;

              p.render(res,callback);
            });
          }else{
            p.render(res,callback);
          }
        }

      });
示例#11
0
 grid.get(fileInfo._id, function(err, data) {
   console.log("Retrieved data: " + data.toString());
   grid.delete(fileInfo._id, function(err, result) {
   });
 });