我在node.js中编写了一个小代码,用于在MongoDB集合中插入文档。但是当我请求配置文件路由时,出现了标题中提到的错误。我不知道是哪一行引起了问题,也许是insertOne方法之后的那一行。代码是:
http
.createServer((req, res) => {
res.writeHead(200, { "Content-Type": "text/html" });
var url = req.url;
if (url == "/") {
res.end("<h1>Basic route</h1>");
} else if (url == "/profile") {
mydb
.collection("record")
.insertOne({ username: "vipul", password: "vipul1234" }, (err, result) => {
if (err) res.end(err);
else res.end("inserted successfully");
});
} else if (url == "/about") {
res.end("<h1>About Us Page</h1>");
} else {
let date = Date();
res.end("<h1>Incorrect URL</h1><h2>", date, "</h2>");
}
})
.listen(3000, () => {
console.log("Server listening at port 3000");
});
请指导我。我是Node的初学者!
答案 0 :(得分:1)
关于此:
if (err)
res.end(err);
else
res.end("inserted successfully");
res.end
不接受错误本身。您必须将字符串或缓冲区传递给它。
(在此处查看更多信息:https://nodejs.org/api/http.html#http_response_end_data_encoding_callback)
您可以尝试以下方法:
if (err)
res.end(err.message);
else
res.end("inserted successfully");