【发布时间】:2018-02-05 00:11:00
【问题描述】:
当尝试使用 findById 从 DB 记录数据时,我得到了 undefined 的返回值。
// Get single article
app.get('/article/:id', (req, res) => {
Article.findById(req.params.id, (err, article) => {
console.log(article);
return;
});
});
//Article Schema
let articleSchema = mongoose.Schema({
title: { type: String, required: true },
author: { type: String, required: true},
body: { type: String, required: true}
});
let Article = module.exports = mongoose.model('Article', articleSchema)
我查了一些东西,我得到了它,但我不确定这是否是正确的方法
所以我发现如果我使用findOne() 并传入Article.id 我会得到我想要的结果,但这是正确的做事方式吗?
我觉得article.id 应该由req.params.id 传递,但是当我将它传递给findOne() 时,我收到一条错误消息:
Error: Invalid argument to findOne(): 'article_id'
【问题讨论】:
-
尝试注销
err参数 -
这是我得到的:CastError: Cast to ObjectId failed for value "article_id" at path "_id" for model "Article
-
我当前面临的错误是,当我尝试记录文章值时,我得到一个未定义的值并出现错误:
message: 'Cast to ObjectId failed for value "article_id" at path "_id" for model "Article"'我确实遇到了错误命名参数的问题,但这一直是已修复,我可以让它显示使用Articles.find()的文章,但是在尝试使用Article.findById时会出现问题 -
这是完成的错误是在索引 html 我在传递参数并将它们作为字符串传递时犯了一个错误,这就是它无法读取 id 的原因,当我发现这个时检查了索引文件。继续下一步
标签: javascript node.js mongodb mongoose