如何使用ejs从Gridfs fs.files集合和Mongoose集合中检索数据

时间:2018-12-26 10:35:34

标签: node.js mongodb mongoose ejs gridfs

我正在使用gridfs将文件存储在远程mlab集合上,并且还使用单独的Movie集合来存储文本值和fileID。 尽管我能够正确执行上传过程,但无法检索fs.files集合中包含的数据。如何将两个集合合并到一条路线内的单个猫鼬查询中。

我尝试过在mongodb中使用聚合函数作为mongodb的启动器,我困扰了几天。

 const upload = multer({ storage: storage }).single('file');

 router.get('/', (req, res) => {
 Movie.find({fileID:'req.file.id'}).populate(fileID)
.then(ideas => {
  res.render('ideas/index', {
    ideas:ideas
     });
   });
    });

  // Add Idea Form
router.get('/create', (req, res) => {
   res.render('ideas/create');
 });
 router.post('/', (req, res) => {
   upload(req, res, (err) => {
    if (err) {
     return res.end('error request file');
    }
  var data = new Movie({
    description: req.body.description,
     fileID: req.file.id
   });
  data.save().then((result) => {
      //res.send(result);
      //res.redirect('/')
     console.log('saved')
   });
   console.log(req.file);
   //res.end('upload file success');
   //res.redirect('/')
   res.redirect('/')
   console.log('success');
    });
});

是否可以同时查询fs.files集合和我的电影集合?

0 个答案:

没有答案