Javascript 猫鼬不';t通过ID更新模型
有什么问题吗?在控制台中,我看到ID,这是可以的,但数据库并没有变化您可以使用这个Javascript 猫鼬不';t通过ID更新模型,javascript,node.js,mongodb,mongoose,Javascript,Node.js,Mongodb,Mongoose,有什么问题吗?在控制台中,我看到ID,这是可以的,但数据库并没有变化您可以使用这个 apiRoutes.put('/intake/:id', function(req, res) { var id = req.params.id; Intake.findById({id, function(err, intake) { if (err)res.send(err); intake.check = true; intake.save(funct
apiRoutes.put('/intake/:id', function(req, res) {
var id = req.params.id;
Intake.findById({id, function(err, intake) {
if (err)res.send(err);
intake.check = true;
intake.save(function(err) {
if (err) {return res.json({success: false, msg: 'Error'});}
res.json({success: true, msg: 'Successful update check state.'});
});
}})
});
你可以用这个
apiRoutes.put('/intake/:id', function(req, res) {
var id = req.params.id;
Intake.findById({id, function(err, intake) {
if (err)res.send(err);
intake.check = true;
intake.save(function(err) {
if (err) {return res.json({success: false, msg: 'Error'});}
res.json({success: true, msg: 'Successful update check state.'});
});
}})
});
你给我们的信息太少,帮不了你。但我得到了一些关于如何找出问题所在的提示:(我在回答的末尾添加了示例代码a) 使用正确的代码格式。错误更容易发现 请避免使用res.send(err)。大多数express应用程序在管线末端提供HTML页面翻译错误。这仅在调用
res.next(err)时有效代码>。如果你的应用程序没有在管道末端提供错误页面生成,那么你可以使用res.status(400).json({success:false,msg:err.message})代码>
使用res.send
或res.next
或res.json
后,必须通过return
结束函数的执行,然后才能再次调用其中一个函数。在嵌套或异步方法调用的情况下,这可能非常复杂。但在你的例子中,这很容易
使用一些日志输出来查看您访问了代码的哪些部分,哪些没有
console.dir()代码>打印出此对象的结构
希望这有点帮助。;-)
你给我们的信息太少,帮不了你。但我得到了一些关于如何找出问题所在的提示:(我在回答的末尾添加了示例代码a)
使用正确的代码格式。错误更容易发现
请避免使用res.send(err)
。大多数express应用程序在管线末端提供HTML页面翻译错误。这仅在调用res.next(err)时有效代码>。如果你的应用程序没有在管道末端提供错误页面生成,那么你可以使用res.status(400).json({success:false,msg:err.message})代码>
使用res.send
或res.next
或res.json
后,必须通过return
结束函数的执行,然后才能再次调用其中一个函数。在嵌套或异步方法调用的情况下,这可能非常复杂。但在你的例子中,这很容易
使用一些日志输出来查看您访问了代码的哪些部分,哪些没有
console.dir()代码>打印出此对象的结构
希望这有点帮助。;-)
check
是否是架构中的有效属性?此外,您还需要考虑使用,这样您就可以用一个命令执行查找和更新。我添加所需的字段:在模式中是真的,但仍然不工作。您可以将您的模式添加到您的问题吗?是<代码>检查< /代码>模式中的有效属性吗?此外,您还需要考虑使用,这样您就可以用一个命令执行查找和更新。我添加所需的字段:在模式中是真的,但仍然不工作。您可以将您的模式添加到您的问题中吗?
Intake.findById(/*remove { here*/id, function(err, intake) {
if (err)res.send(err);
intake.check = true;
intake.save(function(err) {
if (err) {return res.json({success: false, msg: 'Error'});}
res.json({success: true, msg: 'Successful update check state.'});
});
})
apiRoutes.put('/intake/:id', function(req, res)
{
var id = req.params.id;
Intake.findById(id, function(err, intake)
{
if (err)
{
res.next(err);
console.error(err);
return;
}
console.log("Modify check attribute");
intake.check = true;
console.dir(intake);
intake.save(function(err)
{
console.log("Intake save called!");
if (err)
{
console.error(err);
res.json({
success: false,
msg: 'Error'
});
return;
}
console.log("Success");
res.json({
success: true,
msg: 'Successful update check state.'
});
});
}})
});