下面的示例显示了如何使用猫鼬将图像上传到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(); }); }); });});


