快速路由器中的访问Grid Fs

时间:2020-07-14 00:42:23

标签: javascript node.js mongodb

我已经成功设置了将块渲染到mongo实例的发布请求。我猜中间件有两个,它们分别涉及网格流的不同方面。

ConnectDB

s=df.var1.str.split('-',expand=True).apply(pd.to_numeric,errors='coerce').mean(axis=1).fillna(df.var1)
0        1.5
1        3.5
2          7
3    Missing
dtype: object
df['wanted']=s

并上传


const connectDB = async () => {
  let gfs;
  try {
    await mongoose.connect(db, {
      useNewUrlParser: true,
      useCreateIndex: true,
      useFindAndModify: false,
      useUnifiedTopology: true,
    });
    let dbs = mongoose.connection;
    dbs.once("open", () => {
      gfs = Grid(conn.dbs, mongoose.mongo);
      gfs.collection("files");
    });

    console.log("MongoDB Connected...");
  } catch (err) {
    console.error(err.message);
    process.exit(1);
  }
};

module.exports = connectDB;

我的问题是,我已经发布了使用中间件并在加载时初始化gfs的信息。我如何访问gfs以执行以下操作

const util = require("util");
const multer = require("multer");
const GridFsStorage = require("multer-gridfs-storage");
const url = require("../config/default.json");

var storage = new GridFsStorage({
  url:'awesomeurl',
  options: { useNewUrlParser: true, useUnifiedTopology: true },
  file: (req, file) => {
    const match = ["application/pdf"];

    if (match.indexOf(file.mimetype) === -1) {
      const filename = `${file.originalname}`;
      return filename;
    }

    return {
      bucketName: "files",
      filename: `${file.originalname}`,
    };
  },
});

var uploadFile = multer({ storage: storage }).single("file");
var uploadFilesMiddleware = util.promisify(uploadFile);
module.exports = uploadFilesMiddleware;

我提供了发布请求,原因是im将使用文件ID作为进行findbyid的引用的一部分,因为文件是其自身的集合,并且此搜索引用了潜在客户集合。但是我如何从/ api / prospects / files访问在快速路由器中调用gfs变量的/ api / files

0 个答案:

没有答案