【发布时间】:2017-10-05 21:14:05
【问题描述】:
我有 Card 模型,并且我有一个 API,我正在通过 ID 查找文档。
app.post("/api/postcomment", async (req,res) => {
const data = req.body
const reqUrl = req.headers.referer
const re = new RegExp('([a-zA-Z0-9]*$)', 'i')
const fixedUrl = reqUrl.match(re)
try {
await Card.update({_id: fixedUrl}, {$push:{'comments': data}})
const card = await Card.findById(fixedUrl)
return res.json(card)
} catch (err) {
throw err
}
})
它工作正常。但现在我有几个模型。所有人都应该以同样的方式为他们工作。但是我怎样才能使这个代码对每个模型都可重用呢? 或者也许有一种方法可以将我的模型名称传递给 API?然后像这样使用它:
app.post("/api/postcomment", async (req,res, modelName) => {
const data = req.body
const reqUrl = req.headers.referer
const re = new RegExp('([a-zA-Z0-9]*$)', 'i')
const fixedUrl = reqUrl.match(re)
try {
await modelName.update({_id: fixedUrl}, {$push:{'comments': data}})
const item = await modelName.findById(fixedUrl)
return res.json(item )
} catch (err) {
throw err
}
})
【问题讨论】:
标签: node.js database mongodb express mongoose