EJS是一种嵌入式JavaScript模板引擎,用于在服务器端生成动态HTML页面。Mongoose是一个Node.js的MongoDB对象建模工具,用于在应用程序中定义和操作MongoDB数据库的数据模型。
要在EJS上显示Mongoose Schema,可以按照以下步骤进行操作:
npm install ejs mongoose
const express = require('express');
const app = express();
const mongoose = require('mongoose');
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true })
.then(() => console.log('Connected to MongoDB'))
.catch(err => console.error('Failed to connect to MongoDB', err));
这里假设你的MongoDB数据库位于本地,并且数据库名称为"mydatabase"。
const schema = new mongoose.Schema({
name: String,
age: Number,
email: String
});
const User = mongoose.model('User', schema);
这里创建了一个名为"User"的模型,它基于定义的schema。
app.get('/', (req, res) => {
User.find()
.then(users => {
res.render('index.ejs', { users });
})
.catch(err => {
console.error('Failed to fetch users', err);
res.status(500).send('Internal Server Error');
});
});
这里使用User.find()
查询所有用户数据,并将结果传递给名为"index.ejs"的EJS模板。
<!DOCTYPE html>
<html>
<head>
<title>User List</title>
</head>
<body>
<h1>User List</h1>
<ul>
<% users.forEach(user => { %>
<li>Name: <%= user.name %></li>
<li>Age: <%= user.age %></li>
<li>Email: <%= user.email %></li>
<br>
<% }); %>
</ul>
</body>
</html>
在这个模板中,使用EJS的语法来遍历并显示每个用户的名称、年龄和电子邮件。
这样,当访问根路径时,Express将查询MongoDB数据库中的用户数据,并将其传递给EJS模板进行渲染,最终在浏览器中显示用户列表。
腾讯云相关产品和产品介绍链接地址:
请注意,以上提到的腾讯云产品仅作为示例,您可以根据实际需求选择适合的产品。
领取专属 10元无门槛券
手把手带您无忧上云