Нужна помощь. Я удалил документы MongoDB в своей базе данных, но мое приложение продолжает отображать их с помощью AJAX - PullRequest
0 голосов
/ 10 октября 2019

Я использую deleteMany ({}), чтобы удалить все документы, но каким-то образом мое приложение все еще может отображать пользователей с ajax, которые я больше не могу найти в mongodb. я не понимаю, как это вообще возможно. в монго говорится, что документов не осталось, но мое приложение все еще может получать старых пользователей.

// это ajax, и поверьте мне, нет документов, чтобы захватить, но каким-то образом это происходит.

  $(document).ready(() => {
   $.ajax({
        url: '/trainersData',
        type: 'GET',
        dataType: 'json',
        success: (data) => {
        console.log(data);
        for(i = 0 ;i < data.length; i++){
        const $div = '<a href='+window.location.href+"/"+data[i]._id+'><div class="showcase" id=trainer-'+i+'></div></a>';
         $('#trainers_showcase').append($div);
         $('#trainer-' + i).text(data[i].firstName + ' ' + data[i].lastName);
        };
     }
   });
   });

вот код бэкэнда

const express = require('express');
const app = express();
const router = require('./routes/trainers');
const user = require('./routes/user');
const bodyParser = require('body-parser')
const path = require('path');
const mongoose = require('mongoose');
const trainer = require('./routes/models/Trainer');
const session = require('express-session');
const mongoStore = require('connect-mongo')(session);
const review = require('./routes/models/Review');


mongoose.connect('mongodb://localhost/trainers',{ useNewUrlParser: true});

mongoose.connect('mongodb://localhost/reviews', { useNewUrlParser: true});


mongoose.connection.once('open', () => {
  console.log('connection successful')
}).on('error', (error) => {
  console.log('error:',error);
});

app.set('view engine','pug');

app.use(session({secret: 'sghepighgo33b',
                 resave:true,
                 saveUninitialized:true,
                 store: new mongoStore({mongooseConnection: mongoose.connection,
                 ttl: 2 * 24 * 60 * 60})}));

app.use(bodyParser.json());

app.use(bodyParser.urlencoded({ extended: true }));

app.use(user);

app.use(express.static(__dirname+'/views'));

app.use(router);



app.get('/trainersData', (req,res) => {
  trainer.find({},(err,trainer) => {
    if(err){
      res.send(err);
    }else {
      let jsonData = JSON.stringify(trainer);
      res.send(jsonData);
    }
  })
});

app.listen(3000, () => {
  console.log('running.......')

})

1 Ответ

0 голосов
/ 10 октября 2019

Вы пытаетесь подключиться к двум базам данных трейнеры и отзывы . Попробуйте создать новый экземпляр Mongoose для каждого соединения, например:

const trainerConn = new Mongoose();
trainerConn.connect('mongodb://localhost/trainers',{ useNewUrlParser: true});

const reviewConn = new Mongoose();
reviewConn.connect('mongodb://localhost/reviews',{ useNewUrlParser: true});

или у вас может быть две коллекции тренеров и отзывов в одной базе данных

mongoose.connect('mongodb://localhost/sandbox',{ useNewUrlParser: true});

сейчас песочница дБ будет иметь две коллекции в соответствии с файлами модели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...