Я могу загрузить файлы в свою базу данных (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 });
Есть ли способ узнатькто пользователь загрузил?