这里是新的Web开发人员,我正在尝试创建一个电子商务网站,管理员可以在其中创建新类别并将产品添加到数据库中。然后,我希望可以动态创建类别页面(也许通过某些模板),而现在,我希望该页面将变得简单,仅是一个导航栏和带有产品的网格。我知道如何使用网格和导航栏制作静态类别的网页,并且我想知道如何动态添加路由以及将类别动态添加到导航栏,但是如何使用导航栏,网格和代码创建网页在数据库中动态搜索该类别中的所有项目?
不知道这是否是正确的方法,但是我有2种模式
var mongoose = require('mongoose');
var categorySchema = new mongoose.Schema({
name: String
});
module.exports = mongoose.model('Category', categorySchema);
和
var productSchema = new mongoose.Schema({
name: String,
category: {
type: String,
enum:['men', 'women', 'children']
},
price: Number,
description: String,
date: { type: Date, default: Date.now }
})
在数据库中,可以说我有一个带有导航栏的EJS文件,并具有对数据库进行排序的功能,如下所示:
<html >
<head>
<link rel="stylesheet" type="text/css" href="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.2/semantic.min.css">
</head>
<body>
<div class="ui inverted menu">
<div class="header item">B2Better</div>
<a class="item">About Us</a>
<div class="right menu">
<a class="ui item">Sign In</a>
<a class="ui item">Login</a>
<a class="ui item">Logout</a>
</div>
</div>
<div class="ui inverted vertical menu">
<div class="item">
<div class="header">Categories</div>
<div class="menu">
<a class="item">Men</a>
<a class="item">Women</a>
<a class="item">Children</a>
<a class="item">Baby</a>
</div>
</div>
</div>
<% products.forEach(function(product){ %>
<% if (product.category===x) { %>
<h5><%= product.name %></h5>
<img src='someurl'>
<% } %>
<% }) %>
<script src="https://code.jquery.com/jquery-3.1.1.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/semantic-ui/2.3.2/semantic.min.js"></script>
</body>
</html>
我需要对数据库中的每个类别都表达一个类似这样的新页面,我该如何实现呢?
谢谢