0
我正在嘗試向mongodb數據庫中寫入上傳的文件(如圖像)。但是,當我嘗試初始化gridfs-stream時,我得到一個類型錯誤。這裏是我的代碼:初始化Gridfs返回TypeError:字符串不是函數
var mongo = require('mongodb');
router.post('/createpost', cpUpload, function(req,res) {
var db = req.db;
var gfs = Grid(db,mongo);
var file = req.file;
var fileId = new ObjectId();
var writestream = gfs.createWriteStream({
filename: file.originalname,
mode: 'w',
content_type: file.mimetype,
metadata: req.body.postText,
});
fs.createReadStream(file.path).pipe(writestream);
writestream.on('close', function(file) {
res.send("Succcess!");
fs.unlink(file.path,function(err) {
if (err) {
console.log("Error: ", err);
console.log("DELETED: ", file.path);
}
});
});
});
我猜它是與我在呼喚db
爲req.db
,但我讓DB訪問到路由器文件與此代碼在app.js
var mongo = require('mongodb');
var monk = require('monk');
var db = monk('localhost:27017/test-api');
app.use(function(req,res,next) {
req.db = db;
req.mongo = mongo;
next();
});
我在下面的答案固定'字符串不是函數錯誤,但我仍然沒有得到這個代碼工作。我發佈了另一個問題[這裏](http://stackoverflow.com/questions/31528119/gridfs-createwritestream-not-working-with-monk-for-mongodb) – prcbass