узел мангуста не вставлен - PullRequest
0 голосов
/ 12 июня 2019

Я пытался использовать crud, используя nodejs mongoose, но когда я вставляю значение, оно не работает. Значение не вставляется в mongoose и не отображается на странице. та же коллекция не будет работать. Пожалуйста, кто-нибудь помочь ..

router.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);

page.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>
     <%  } %>

Получение результата enter image description here

После попытки добавить я получаю mongodb compass enter image description here

Также вторая страница и первая страница получают одинаковые записи enter image description here

1 Ответ

0 голосов
/ 12 июня 2019

Попробуйте экспортировать и импортировать, как показано ниже.

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()
...