【发布时间】:2017-03-20 20:25:38
【问题描述】:
我正在尝试使用 express 和 node js API 调用来更新值。这是我的路线的样子:
var express = require('express');
var router = express.Router();
router.put('/updateValue/:id', function(req, res, next) {
value.findByIdAndUpdate(req.params.id, req.body, {
new: true
}, function(err, post) {
if (err) {
res.json('value with the entered ID does not exist');
console.log(err);
} else {
res.json(post);
}
});
});
这就是我的价值模式的样子:
var value = new mongoose.Schema({
milliseconds: {
type: Number
}
});
我可以添加一个效果很好的值。
什么有效:
- 使用正确的 id 更新值
- 使用较短的 ID 更新值会返回错误(如预期的那样)
- 使用更长的 ID 更新值会返回错误(如预期的那样)
什么不起作用:
- 当我尝试使用相同长度的 ID 更新值,但更改了一个或两个数字时,我会在“
post”中返回 null
它不应该也返回错误吗?由于 ID 不正确导致值没有更新?
任何解释将不胜感激!
【问题讨论】:
-
嗨 deeveeABC,您是否检查过您的收藏以查看其中是否插入了新值?
-
嘿。当我第一次添加它时,该值插入得很好。但是,当我尝试使用不正确的 ID 修改它时,它不会在 dbs 中更新。如果 ID 正确,则在 dbs 中正确更新值
标签: javascript node.js mongodb mongoose