gpt4 book ai didi

javascript - 如何使用node js从mongodb获取数据并将其显示在表格中?

转载 作者:太空宇宙 更新时间:2023-11-04 03:16:02 27 4
gpt4 key购买 nike

我无法弄清楚如何在 mongodb 中检索数据并在 html/ejs 文件中获取它。在 html/ejs 文件中有一个按钮,如果用户单击它,它将显示数据库集合 mongodb 中的所有数据。

我发现了一些与我的问题类似的问题,但它没有回答我的问题。我对 Node js 和 mongodb 还很陌生,所以我真的不知道如何实现我的目标。

这是我的index.js

var express = require("express");

var app = express();
app.set('view engine', 'ejs')
//var hostname = '127.0.0.1';
var port = 3000;
var mongoose = require("mongoose");
app.set('view engine','jade');
mongoose.Promise = global.Promise;
mongoose.connect("mongodb://localhost:27017/commuters", {useNewUrlParser: true});

app.use('/gui', express.static('gui'));
//use to link static file in the folder named public
var nameSchema = new mongoose.Schema({
route : String,
origin : String,
destination : String,
estimatedTimeOfArrival : String,
date : String,
time : String
},
{
collection : 'boardingAlight'
});
//collection is the name of collection that you created in the same database name above
var User = mongoose.model("User", nameSchema);

var bodyParser = require('body-parser');
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true, useNewUrlParser : true }));

app.use("/", (req, res) => {
res.sendFile(__dirname + "/gui/index.html");
});
//FOR PORT CONNECTION
//localhost:3000
app.listen(port, () => {
console.log("Server listening on port " + port);
});

使用按钮创建 ejs 文件后,我需要显示表中的所有数据。谢谢!

最佳答案

尝试以下代码:

app.js

var express = require("express"),
app = express(),
bodyparser = require("body-parser"),
mongoose = require("mongoose");
mongoose.connect("mongodb://localhost:27017/commuters", {useNewUrlParser: true});

app.use(bodyparser.urlencoded({ extended: true }));
app.set("view engine", "ejs");

var schema = new mongoose.Schema({
route : String,
origin : String,
destination : String,
estimatedTimeOfArrival : String,
date : String,
time : String
})
var detailsModel = mongoose.model("detailsModel", schema);
app.get("/", function (req, res) {
res.render("index",{ details: null })
})
app.get("/getdetails", function (req, res) {
detailsModel.find({}, function (err, allDetails) {
if (err) {
console.log(err);
} else {
res.render("index", { details: allDetails })
}
})
})
app.listen(3000, "localhost", function () {
console.log("server has started");
})

index.ejs

<div>
<a href="/getdetails">Get Details</a>
</div>
<hr>

<% if(details!=null) { %>
<table>
<tr>
<th>Route</th>
<th>origin </th>
<th>Destination</th>
<th>EstimatedTimeOfArrival </th>
<th>Date </th>
<th>Time</th>
</tr>
<% details.forEach(function(item){ %>
<tr>
<td><%= item.route%></td>
<td><%= item.origin %></td>
<td><%= item.destination%></td>
<td><%= item.estimatedTimeOfArrival %></td>
<td><%= item.date%></td>
<td><%= item.time%></td>

</tr>
<% }) %>
</table>
<% } %>

关于javascript - 如何使用node js从mongodb获取数据并将其显示在表格中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56215465/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com