[英]Need help. I deleted MongoDB documents in my database but my app keeps displaying them with AJAX
i use deleteMany({}) to delete all documents but somehow my app still able to display users with ajax that i cant even find in mongodb anymore.我使用 deleteMany({}) 删除所有文档,但不知何故,我的应用程序仍然能够显示 ajax 的用户,我什至在 mongodb 中都找不到了。 i dont understand how this is even possible.
我不明白这怎么可能。 in mongo it says there is no documents left but my app is still able to get old users.
在 mongo 中,它说没有留下任何文件,但我的应用程序仍然能够获得老用户。
// this is the ajax and trust me there is no documents to grab but somehow it does. // 这是 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);
};
}
});
});
here is the backend code这是后端代码
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.......')
}) })
You are trying to connect to two databases trainers and reviews .您正在尝试连接到两个数据库trainers和reviews 。 Try creating new Mongoose instance for each connection like:
尝试为每个连接创建新的 Mongoose 实例,例如:
const trainerConn = new Mongoose();
trainerConn.connect('mongodb://localhost/trainers',{ useNewUrlParser: true});
const reviewConn = new Mongoose();
reviewConn.connect('mongodb://localhost/reviews',{ useNewUrlParser: true});
or you can have two collections trainers and reviews in one database或者您可以在一个数据库中拥有两个 collections培训师和评论
mongoose.connect('mongodb://localhost/sandbox',{ useNewUrlParser: true});
now sanbox db will have two collections according to the model files.现在根据 model 文件, sanbox db 将有两个 collections。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.