我尝试使用express和mongodb构建一个简单的CRUD应用程序。我对所有数据库条目的GET请求正在运行,我的POST请求正在运行,但我似乎无法通过单个条目的GET请求来解决问题。
Server.js GET请求:
app.get('/api/:id', function (req, res) {
var id = req.params.id;
db.collection('api').findOne({_id: id}, (err, result) => {
if (err){
res.sendStatus(404);
return console.log(err);
}
res.redirect('/');
return console.log(result);
});
});
当我输入' url / api / 593555074696601afa192d7f'这是我知道的ID存在,console.log返回null,我不确定我是否做错了什么?
答案 0 :(得分:0)
您应该在查询中传递ObjectID
个实例。
let ObjectID = require("mongodb").ObjectID;
app.get('/api/:id', function (req, res) {
var id = req.params.id;
db.collection('api').findOne({_id: ObjectID(id)}, (err, result) => {
if (err){
res.sendStatus(404);
return console.log(err);
}
res.redirect('/');
return console.log(result);
});
});
尝试Mongoose。如果你的模型变得复杂,它可能会有所帮助。