我正在分配一个任务,以列出mongoDB数据库中的所有数据,并且无法找到我要去哪里。这似乎是一个相当简单的问题,但是每当我运行提供的mocha测试时,它都会不断抛出404错误。这是测试的相关部分:
it('should it able to retrieve all listings', function(done) {
agent.get('/api/listings')
.expect(200)
.end(function(err, res) {
should.not.exist(err);
should.exist(res);
res.body.should.have.length(147);
done();
});
});
这是我的GET请求代码。我尝试了几种不同的编码方式,但这似乎是将所需数据作为JSON返回的最简单/最直接的方法。
exports.list = function(req, res) {
Listing.find(function(err, listing){
if(err){
res.status(404).send(err);
} else {
res.json(listing);
}})
};
还有什么我应该做的吗?我一直在研究请求的教程和基本示例,看来它应该可以工作,但事实并非如此。任何帮助将不胜感激。
答案 0 :(得分:0)
/api/listings
exports.list
。可能应该是module.exports
结帐express-generator来搭建样板特快应用。可能会帮助您将其与您的应用进行比较,以检查其接线是否正确
答案 1 :(得分:0)
似乎您没有将第一个参数传递给find method。仅回调...尝试此操作:
Listing.find({}, function(err, listing) {
if (err) {
res.status(404).send(err);
} else {
res.json(listing);
}
})
我假设您想要所有记录,这就是为什么我们传递空对象 {} 的原因。