【发布时间】:2020-12-04 12:46:21
【问题描述】:
如果在数据库中满足条件,我在控制器中有一个函数想要创建两个不同的模型。 API 被调用:
PUT localhost:3000/用户
调用 app.post('/user', user.create)
user.create 在控制器文件中:
const business = require("./controllers/business.controller.js");
exports.create = (req,res) => {
const user = new User ({
email: req.body.email
uniqueAccount: req.body.unique
})
User.create (user, function(err,doc){
if (err) res.status(500).send(err)
if (user.uniqueAccount) {
let result = business.create(req,res)
console.log(result)
}
res.send(doc)
})
}
在业务控制器中也是一样的功能:
exports.create = (req,res) => {
const business = new Business({
name: req.body.businessname
})
Business.create (business, function(err,doc){
if (err) return err
return doc
}
}
因为我的行:
let result = business.create(req,res) 没有承诺等待,我无法看到业务控制器的返回。我尝试使用 .then 函数,但遇到了错误:
TypeError:无法读取未定义的属性“then”
我该如何正确处理这个问题?我可以将模型导入我的用户控制器,然后在用户控制器中创建业务模型,但我想分离目的。
【问题讨论】:
标签: javascript node.js