我试图在这个模型中连接两个东西。
router.post('/', (req, res) => {
let file= new File({
name: req.body.name,
year: req.body.year,
code: req.body.code
});
file.save().then(data => {
res.send(data);
}, err => {
res.send(err);
})});
所以我想做的是我想从用户那里获取姓名和年份的输入,一旦发布请求通过,我想获取 name+'_'+ MongoDB 对象 ID 的最后六个字符并更新结果的模型和补丁代码。我怎样才能有效地实现这一目标?任何帮助,将不胜感激。谢谢!
示例文档
{ "_id": { "$oid": "5aa420c2f92b4d77fc342e62" }, "name": "n", "year": "1992", "code": "", "__v": 0 }
上述文档中字段“代码”的示例输出。
"code": "n_342e62"
代码应在发布请求后通过连接这两个属性自行更新。
最佳答案
我不明白为什么您只希望在post
请求完成后才 执行此操作。但这里是你如何做到的:
router.post('/', (req, res) => {
let file= new File({
name: req.body.name,
year: req.body.year,
code: req.body.code
});
file.save().then(data => {
res.send(data);
//after the DATA has been sent, you can save the code
let id = data._id.toString();
data.code = data.name + "_" + id.slice(id.length - 6, id.length);
data.save();
}, err => {
res.send(err);
})});
(另外,请说明您是要使用name
还是year
作为代码)。
关于node.js - MongoDB - 连接模型中的两个属性并用结果更新模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49227204/