Вставка файла в mongodb с помощью Express (Ошибка при создании механизма хранения) - PullRequest
0 голосов
/ 20 декабря 2018

Я новичок в mongodb. Я следую руководству по использованию gridfs для загрузки большого файла. Я пытаюсь загрузить видео файл на mongodb с помощью gridfs.Но я получаю сообщение об ошибке при создании механизма хранения.Вот код: API.js

let multer = require('multer');
let GridFsStorage = require('multer-gridfs-storage');
let Grid = require('gridfs-stream');
const crypto = require('crypto')
const mongoose = require('mongoose')
const url = "mongodb://localhost/dbanme"

//MONGOOSE CONNECTION STRING
mongoose.connect(url, { useNewUrlParser: true }, err =>{
    if(err){
        console.log("Error "+err)
    }else{
        console.log("API 2 Connected to the db!!")
    }
})

let conn = mongoose.connection;
let gfs = Grid(conn, mongoose.mongo);

// Setting up the storage element
let storage = GridFsStorage({
    gfs : gfs,

    filename: (req, file, cb) => {
        let date = Date.now();
        // The way you want to store your file in database
        cb(null, file.fieldname + '-' + date + '.'); 
    },

    // Additional Meta-data that you want to store
    metadata: function(req, file, cb) {
        cb(null, { originalname: file.originalname });
    },
    root: 'ctFiles' // Root collection name
});


// Multer configuration for single file uploads
let upload = multer({
    storage: storage
}).single('file');


// Route for file upload
app.post('/upload', (req, res) => {
    upload(req,res, (err) => {
        if(err){
             res.json({error_code:1,err_desc:err});
             return;
        }
        res.json({error_code:0, error_desc: null, file_uploaded: true});
    });
});

Ошибка: Ошибка создания механизма хранения.Должен быть указан хотя бы один из параметров url или db.


Есть ли проблемы, связанные с подключением?Или существует какая-то другая ошибка.

...