我正在使用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集合和我的电影集合?