Node.js 如何在mongodb中将文件引用到对象
我正试图在mongodb上上传一个图像,但我想把这个图像引用到一个任务,我不知道怎么做,这里是代码 在这里我上传,正如你所看到的名字必须是字典Node.js 如何在mongodb中将文件引用到对象,node.js,mongodb,file,upload,Node.js,Mongodb,File,Upload,我正试图在mongodb上上传一个图像,但我想把这个图像引用到一个任务,我不知道怎么做,这里是代码 在这里我上传,正如你所看到的名字必须是字典 router.post('/',upload.single('dicionario'), async (req, res) => { try{ const { title, description, tasks } = req.body const project = await Project.cre
router.post('/',upload.single('dicionario'), async (req, res) => {
try{
const { title, description, tasks } = req.body
const project = await Project.create({title, description, user: req.userId });
const post = await Post.create({
name: req.file.originalname,
size: req.file.size,
key: req.file.filename,
url: ''
})
//console.log(req.file)
console.log(req.body)
await Promise.all(tasks.map( async task => {
const projectTask = new Task({...task, project: project._id})
await projectTask.save()
project.tasks.push(projectTask)
}))
await project.save()
return res.send({ project })
} catch(err) {
console.log(err)
return res.status(400).send({error: 'Error creating new project'})
}
})
下面是任务的模式
const TaskSchema = new mongoose.Schema({
title:{
type: String,
required: true,
},
description:{
type: String,
required: true
},
dicionario:{
type: mongoose.Schema.Types.ObjectId,
ref: 'Post',
required: true
},
project: {
type: mongoose.Schema.Types.ObjectId,
ref: 'Project',
required: true
},
assignedTo: {
type: mongoose.Schema.Types.ObjectId,
ref: 'User',
required: true
},
completed:{
type:Boolean,
required:true,
default: false
},
createdAt:{
type: Date,
default: Date.now,
},
})
如你所见,他引用了词典中的一篇文章
router.post('/',upload.single('dicionario'), async (req, res) => {
try{
const { title, description, tasks } = req.body
const project = await Project.create({title, description, user: req.userId });
const post = await Post.create({
name: req.file.originalname,
size: req.file.size,
key: req.file.filename,
url: ''
})
//console.log(req.file)
console.log(req.body)
await Promise.all(tasks.map( async task => {
const projectTask = new Task({...task, project: project._id})
await projectTask.save()
project.tasks.push(projectTask)
}))
await project.save()
return res.send({ project })
} catch(err) {
console.log(err)
return res.status(400).send({error: 'Error creating new project'})
}
})
这里是帖子的模式
const mongoose = require('../../database')
const bcrypt = require('bcryptjs')
const PostSchema= new mongoose.Schema({
name: String,
size: Number,
key: String,
url: String,
createdAt:{
type: Date,
default: Date.now,
},
})
module.exports = mongoose.model('Post', PostSchema)
这是邮递员请求的图像