Можно ли узнать, кто загрузил файл, используя gridfs и паспорт (mongodb)? - PullRequest
0 голосов
/ 03 мая 2019

Я могу загрузить файлы в свою базу данных (Mongodb). Однако можно ли узнать, кто загрузил файл по паспорту?я пробовал что-то подобное, но это не работает.

app.post('/upload', upload.single('file'), (req, res) => {
  // res.json({ file: req.file });
  db.collection("anyCollection").insertOne({
    fileUploaded : file,
    uploadedBy   : req.user
});

});

Gridfs Init:

let conn = mongoose.createConnection("mongodb://localhost:27017/FYP")
// Init gfs
let gfs;

conn.once('open', () => {
  // Init stream
  gfs = Grid(conn.db, mongoose.mongo);
  gfs.collection('requests');
});

Мой механизм хранения:

// Create storage engine
const storage = new GridFsStorage({
    url: "mongodb://localhost:27017/FYP",
    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: 'anyCollection'
          };
          resolve(fileInfo);
        });
      });
    }
  });

  const upload = multer({ storage });

Есть ли способ узнатькто пользователь загрузил?

...