首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

用NodeJS和Mongoose查询EJS中的数据

在使用NodeJS和Mongoose查询EJS中的数据时,可以按照以下步骤进行操作:

  1. 首先,确保已经安装了Node.js和Mongoose,并在项目中引入它们的依赖。
  2. 在Node.js中创建一个服务器,并使用Mongoose连接到MongoDB数据库。可以使用以下代码示例:
代码语言:txt
复制
const express = require('express');
const mongoose = require('mongoose');

const app = express();

// 连接到MongoDB数据库
mongoose.connect('mongodb://localhost/mydatabase', { useNewUrlParser: true, useUnifiedTopology: true })
  .then(() => {
    console.log('MongoDB连接成功');
    app.listen(3000, () => {
      console.log('服务器已启动');
    });
  })
  .catch((error) => {
    console.error('MongoDB连接失败', error);
  });

请注意,上述代码中的mongodb://localhost/mydatabase应替换为你的MongoDB数据库的连接字符串。

  1. 创建一个Mongoose模型(Model),以便与数据库中的集合进行交互。可以使用以下代码示例:
代码语言:txt
复制
const mongoose = require('mongoose');

const userSchema = new mongoose.Schema({
  name: String,
  age: Number,
  email: String
});

const User = mongoose.model('User', userSchema);

上述代码中的userSchema定义了用户模型的字段和类型,User是模型的名称。

  1. 在路由中编写代码以查询和呈现EJS模板中的数据。可以使用以下代码示例:
代码语言:txt
复制
const express = require('express');
const User = require('./models/user'); // 引入用户模型

const app = express();

// 路由
app.get('/', (req, res) => {
  // 查询数据
  User.find({}, (error, users) => {
    if (error) {
      console.error('查询数据失败', error);
      return res.status(500).send('服务器错误');
    }
    // 将数据传递给EJS模板进行渲染
    res.render('index.ejs', { users: users });
  });
});

// 启动服务器
app.listen(3000, () => {
  console.log('服务器已启动');
});

上述代码中的User.find({}, (error, users) => { ... })用于查询所有用户数据,并将结果传递给回调函数中的users参数。

  1. 创建一个名为index.ejs的EJS模板文件,并在其中使用<%= %>语法呈现查询到的数据。示例如下:
代码语言:txt
复制
<!DOCTYPE html>
<html>
<head>
  <title>用户列表</title>
</head>
<body>
  <h1>用户列表</h1>
  <ul>
    <% users.forEach(function(user) { %>
      <li><%= user.name %> - <%= user.email %></li>
    <% }); %>
  </ul>
</body>
</html>

上述代码中的users是从服务器传递到模板的数据,可以通过<%= %>语法在模板中进行渲染。

这样,当访问根路由('/')时,服务器会查询所有用户数据,并使用EJS模板将数据呈现为HTML页面,然后发送给客户端进行显示。

关于Node.js、Mongoose、EJS和MongoDB的更多详细信息和使用方法,请参考以下链接:

请注意,以上提供的是一种基本的查询和呈现数据的方法,实际应用中可能需要根据具体需求进行适当的调整和优化。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 使用NodeJs(Express)搞定用户注册、登录、授权

    首先做一下声明,本篇博客来源于BiliBili上全栈之巅主播Johnny的视频[1小时搞定NodeJs(Express)的用户注册、登录和授权(https://www.bilibili.com/video/av49391383),对其进行了整理。自己跟着视频做,感觉收获不少。 最近在学些NodeJs和Express框架开发后台接口,Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。看到B站上全栈之巅-Node.js+Vue.js全栈开发深度爱好者和实践者,感觉Johnny博主的系列视频讲解得不错,其中看到一个视频是1小时搞定NodeJs(Express)的用户注册、登录和授权,介绍了在Express中怎么做用户登录和注册,以及jsonwebtoken的验证,需要在系统中安装MongoDB数据库;于是在自己的Windows10系统下使用VSCode跟着做,前提是要安装好NodeJs和Express开发环境,以及在Windows系统中配置好MongoDB数据库,关于在Windows下安装MongoDB可以参考菜鸟教程中的Windows 平台安装 MongoDB和windows环境下启动mongodb服务。

    01
    领券