在不使用模板引擎的情况下呈现MongoDB数据,通常意味着你需要直接在后端处理数据,并将其转换为前端可以直接使用的格式,比如JSON。以下是一些基础概念和相关方法:
假设你有一个MongoDB集合users
,你想直接返回所有用户的JSON数据。
const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const app = express();
const port = 3000;
MongoClient.connect('mongodb://localhost:27017', { useNewUrlParser: true, useUnifiedTopology: true }, (err, client) => {
if (err) return console.error(err);
const db = client.db('mydatabase');
const usersCollection = db.collection('users');
app.get('/users', (req, res) => {
usersCollection.find({}).toArray((err, users) => {
if (err) return res.status(500).send(err);
res.json(users);
});
});
app.listen(port, () => {
console.log(`Server running at http://localhost:${port}/`);
});
});
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Users</title>
</head>
<body>
<ul id="users"></ul>
<script>
fetch('http://localhost:3000/users')
.then(response => response.json())
.then(users => {
const usersList = document.getElementById('users');
users.forEach(user => {
const li = document.createElement('li');
li.textContent = `${user.name} (${user.email})`;
usersList.appendChild(li);
});
})
.catch(error => console.error('Error:', error));
</script>
</body>
</html>
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Headers', 'Origin, X-Requested-With, Content-Type, Accept');
next();
});
通过这种方式,你可以直接在后端处理MongoDB数据,并将其以JSON格式返回给前端,从而避免了使用模板引擎。
领取专属 10元无门槛券
手把手带您无忧上云