MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

Node.js/Express और Mongoose का उपयोग करके MongoDB में एक छवि संग्रहीत करें

नीचे दिया गया यह उदाहरण दिखाता है कि नेवले का उपयोग करके MongoDB पर एक छवि कैसे अपलोड की जाए। मूल स्रोत के लिए इस लिंक पर क्लिक करें

var express = require('express');
var fs = require('fs');
var mongoose = require('mongoose');
var Schema = mongoose.Schema;

var imgPath = '/path/yourimage.png';

mongoose.connect('localhost', 'testing_storeImg');

var schema = new Schema({
    img: { data: Buffer, contentType: String }
});

var A = mongoose.model('A', schema);

mongoose.connection.on('open', function () {
  console.error('mongo is open');

  A.remove(function (err) {
    if (err) throw err;

    console.error('removed old docs');

    // store an img in binary in mongo
    var a = new A;
    a.img.data = fs.readFileSync(imgPath);
    a.img.contentType = 'image/png';
    a.save(function (err, a) {
      if (err) throw err;

      console.error('saved img to mongo');

      // start a demo server
      var server = express.createServer();
      server.get('/', function (req, res, next) {
        A.findById(a, function (err, doc) {
          if (err) return next(err);
          res.contentType(doc.img.contentType);
          res.send(doc.img.data);
        });
      });

      server.on('close', function () {
        console.error('dropping db');
        mongoose.connection.db.dropDatabase(function () {
          console.error('closing db connection');
          mongoose.connection.close();
        });
      });

      server.listen(3333, function (err) {
        var address = server.address();
        console.error('server listening on http://%s:%d', address.address, address.port);
        console.error('press CTRL+C to exit');
      });

      process.on('SIGINT', function () {
        server.close();
      });
    });
  });

});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB $replaceOne

  2. मोंगो परिणाम से _id हटाएं

  3. MongoDb 2.2, 2.4, और 2.6 में मानचित्र-प्रदर्शन कम करें

  4. नेवला उप-दस्तावेज़ बनाम नेस्टेड स्कीमा

  5. मोंगो डीबी में नेस्टेड फ़ील्ड का चयन करें