При подключении к mongodb я получаю предупреждение
"DeprecationWarning: текущий анализатор строки URL устарел и будет
быть удаленным в будущей версии. Чтобы использовать новый парсер, передайте опцию {
useNewUrlParser: true} для MongoClient.connect. "
при отправке формы - я получаю
Соединение с базой данных должно быть открыто для хранения файлов
в GridFSStorage._handleFile (C: \ Users \ charan puli \ Desktop \ upload \ node_modules \ multer-gridfs-storage \ lib \ gridfs.js: 341: 17)
в C: \ Users \ charan puli \ Desktop \ upload \ node_modules \ multer \ lib \ make-middleware.js: 144: 17
at allowAll (C: \ Users \ charan puli \ Desktop \ upload \ node_modules \ multer \ index.js: 8: 3)
at wrappedFileFilter (C: \ Users \ charan puli \ Desktop \ upload \ node_modules \ multer \ index.js: 44: 7)
в автобусе. (C: \ Users \ charan puli \ Desktop \ upload \ node_modules \ multer \ lib \ make-middleware.js: 114: 7)
на Busboy.emit (events.js: 182: 13)
//////////////////app.js///////////////////////
//middle wares
app.use(bodyparser.json())
app.use(methodOverride('_method'))
app.set("view engine","ejs")
//connection
var mongoURI='mongodb+srv://user:password@clusterpuli-xs9yc.mongodb.net/test?retryWrites=true'
mongoose.connect(mongoURI,{useNewUrlParser:true})
.then(()=>{console.log('connected successfully');
})
.catch(err=>{console.log(err);
})
var conn=mongoose.connection
var gfs
conn.once('open',() =>{
gfs = Grid(conn.db, mongoose.mongo);
gfs.collection('questions')
})
//create storage object
var storage = new GridFsStorage({
url: mongoURI,
file: (req, file) => {
return new Promise((resolve, reject) => {
crypto.randomBytes(16, (err, buf) => {
if (err) {
return reject(err);
}
const filename =buf.toString('hex')+path.extname(file.originalname);
const fileInfo = {
filename: filename,
bucketName: 'questions'
};
resolve(fileInfo);
});
});
}
});
const upload = multer({ storage });
//@route /upload POST
app.post('/upload',upload.single('file'),(req,res)=>{
res.json({'file':req.file})
})
var port= 3000
app.get("/",(req,res)=>{
res.render('index')
})
app.listen(port,()=>{
console.log(`app is running at ${port}`);
})
////////////////////////////////////
ожидается - объект файла json, успешно подключен
актуально - соединение с базой данных должно быть открыто