node.js - 节点猫鼬不插入
问题描述
我正在尝试使用 nodejs mongoose 进行 crud,但是当我插入值时它不起作用。值没有插入到 mongoose 并显示在页面上。当我尝试插入单个模式时它的工作但是当我将另一个模式添加到同一个集合时它不会工作。请任何人帮助..
路由器.js
const express = require('express');
const router = express.Router();
const Category = require('../Models/pagesModel');
const SuccessStory = require('../Models/pagesModel');
router.get('/',async (req,res) => {
res.render('index');
});
//category
router.get('/category',async (req,res) => {
const categories = await Category . find();
res.render('category' , {
categories
});
});
router.post('/addCategory', async (req,res) => {
const categories = new Category({
category : req.body.category ,
status : req.body.status
});
await categories.save();
console.log('received');
res.redirect('/category');
});
//success story
router.get('/successStory',async (req,res) => {
const successStories = await SuccessStory.find();
res.render('successStory' , {
successStories
});
});
router.post('/addsuccessStory', async (req,res) => {
const successStories = new SuccessStory({
successStory : req.body.successStory ,
successStoryStatus : req.body.successStoryStatus
});
await successStories.save();
console.log('received');
res.redirect('/successStory');
});
pagesModel.js
const CategorySchema = new Schema({
category: {
type:String
},
status: {
type:String
},
image1:String,
image2:String,
image3:String,
added_date:{
type: Date,
default: Date.now
}
})
const SuccessStorySchema = new Schema({
testimonial: {
type:String
},
testimonialStatus: {
type:String
},
image1:String,
image2:String,
image3:String
})
module.exports = mongoose.model('Category', CategorySchema);
module.exports = mongoose.model('SuccessStory',SuccessStorySchema);
页面.ejs
<% for(var i = 0; i < successStories. length; i++) { %>
<tr>
<td><%= i+1 %></td>
<td><%= successStories[i].successStory %></td>
<td><%= successStories[i].successStoryStatus %></td>
</tr>
<% } %>
解决方案
尝试如下所示的导出和导入。
const categorySchema = mongoose.model('Category', CategorySchema),
const successStorySchema = mongoose.model('SuccessStory', SuccessStorySchema)
module.exports = { Category: categorySchema, SuccessStory: successStorySchema }
然后导入
var { Category } = require("../Models/pagesModel");
var { SuccessStory } = require("../Models/pagesModel");
Category.findOne()
SuccessStory.findOne()
推荐阅读
- javascript - 如何跨页面传输浏览器的会话状态?
- powershell - 从 PowerShell 运行批处理文件时出现意外的退出代码
- windows - Docker:“pg_restore 输入文件似乎不是有效的存档”错误
- tensorflow - 如何在 TensorFlow 云中调用 apply_gradients()?
- javascript - JavaScript 如何调用方法链?
- deep-learning - 在卷积神经网络 CNN 中,其中一层的输入与预期不同
- node.js - 尝试在 VS 代码中的终端中运行“npm start”时,我一直遇到同样的错误:npm 无法找到文件。我应该怎么办?
- flutter - 对 Flutter 中的 OAuth 2.0 感到困惑
- excel - 从excel单元格/excel文件中提取多个url地址
- react-native - 在 react-native 调试器之间切换(从使用 chrome 开发工具到 expo)