Node.js 需要一些帮助来更好地理解代码吗

Node.js 需要一些帮助来更好地理解代码吗,node.js,express,Node.js,Express,这是一个工作代码,所以只需要了解一些部分将是有益的 upload.js:: const util = require("util"); const multer = require("multer"); const GridFsStorage = require("multer-gridfs-storage"); const mongoose = require('mongoose'); const Grid = require('gridfs-stream'); const mongoURI

这是一个工作代码,所以只需要了解一些部分将是有益的

upload.js::

const util = require("util");
const multer = require("multer");
const GridFsStorage = require("multer-gridfs-storage");
const mongoose = require('mongoose');
const Grid = require('gridfs-stream');

const mongoURI ='mongodb://localhost:27017/file_uploaded_new';
const promise = mongoose.connect(mongoURI, { useNewUrlParser: true });
const conn = mongoose.connection;
**let gfs;
conn.once('open',() => {
  gfs = Grid(conn, mongoose.mongo);
  gfs.collection('uploads');
});**

**var storage = new GridFsStorage({**
    db: promise,
    **options: {useNewUrlParser: true, useUnifiedTopology: true }**,
    file: (req, file) => {
        return new Promise((resolve, reject) => {
            if (file.mimetype === 'application/vnd.openxmlformats- 
   officedocument.wordprocessingml.document') {
                resolve({
                    bucketName: 'words',
                    filename: `${file.originalname}`
                })
            } else {
                reject(Error("File type has been rejected"));
            }
        });    
    }
});

**var uploadFile = multer({storage: storage}).single("file");**

**var uploadFilesMiddleware = util.promisify(uploadFile);
module.exports = uploadFilesMiddleware;**

需要特别了解代码的粗体部分。得到了源代码,但没有解释。所以理解它真的很有帮助。

看起来像是一个使用GridFS将上传的文件存储到MongoDB的模块。一个好的开始是检查此代码依赖项的文档。conn.once('open',()=>{gfs=Grid(conn,mongoose.mongo);gfs.collection('uploads');});我需要知道这一行的用法…以及下面一行的var uploadFile=multer({storage:storage}).single(“file”);****var uploadfilesmidleware=util.promisify(uploadFile);看起来像是一个使用GridFS将上传的文件存储到MongoDB的模块。一个好的开始是检查此代码依赖项的文档。conn.once('open',()=>{gfs=Grid(conn,mongoose.mongo);gfs.collection('uploads');});我需要知道这一行的用法…以及下面一行的var uploadFile=multer({storage:storage}).single(“file”);****var uploadfilesmidleware=util.promisify(uploadFile);