我正在尝试在server.js中制作单独的API获取请求,但我没有得到所需的结果。我在Postman中得到的错误如下:
objectId.isValid不是发出API请求的函数
这是server.js的代码:
var express=require('express');
var bodyParser=require('body-parser');
var ObjectID = require('mongodb');
var mongoose=require('./db/mongoose');
var Todo=require('./models/todo');
var User=require('./models/user');
var app = express();
app.get('/todos/:id', (req, res) => {
var id=req.params.id;
if (!ObjectID.isValid(id)) {
return res.status(404).send();
}
Todo.findById(id).then((todo) => {
if (!todo) {
return res.status(404).send();
}
res.send({todo});
}).catch((e) => {
res.status(400).send();
});
});
答案 0 :(得分:0)
注意:评论中回答了这个问题。写一个详细的答案来帮助完成这篇文章。
ObjectID
是require('mongodb')
返回的对象的属性,这就是var ObjectID = require('mongodb').ObjectID
正常工作的原因。
如果切换到ES6,对象解构分配会很方便。
const { ObjectID } = require('mongodb');