API测试MongoDB节点表达ec2



我已经使用nodejs、express和mongodb创建了应用程序,当我使用Postman测试API时,我得到了Hello world!。但是当我添加集合到API URL时,我得到了这个错误:

User-Agent: PostmanRuntime/7.28.4
Accept: */*
Cache-Control: no-cache
Postman-Token: 5b0aecbd-61a0-4cd6-a197-f04f37df5198
Host: XXXXXXXX.us-west-2.compute.amazonaws.com:3000
Accept-Encoding: gzip, deflate, br
Connection: keep-alive

服务器代码为:

var express = require("express");
var app = express();
var MongoClient = require("mongodb").MongoClient;

app.get("/", function(req, res) {
res.send("Hello World!");
});

app.get("/users", function() {
MongoClient.connect("mongodb://localhost:27017/test", function(err, db) {
if (err) next
db
.collection("users")
.find()
.toArray(function(err, result) {
if (err) throw err;

res.json(result)
});
});
});

app.listen(3000,function(){
console.log('Express app start on port 3000')
});

是什么原因导致了错误?

Mongodb shell版本为3.6.8节点版本为17.3

您忘记在/users端点中添加req和res参数

它应该像这个

app.get("/users", function(req, res) {

并且您的代码中没有下一个功能

if (err) next

最新更新