【发布时间】:2020-07-11 05:31:35
【问题描述】:
每当用户重新加载页面时,我都会尝试使用 mongoose 从 MongoDB 重新获取数据。但是,旧数据保留在那里,并且在我重新启动服务器之前不会获取新数据。
这是路由器:
router.post("/dashboard", (req, res) => {
const userId = req.body.userId;
User.findOne({ _id: userId }, (err, users) => {
if (err) {
console.log(err);
res.status(500).send();
} else {
router.get("/dashboard", (req, res, next) => {
const leagues = [users.leagues.premium, users.leagues.free];
if (err) return next(err);
res.status(200).send(leagues);
});
}
});
});
这里是动作(Redux):
export const fetchLeagues = userId => dispatch => {
axios.post("/api/leagues/dashboard", userId).then(
setTimeout(function() {
axios.get("/api/leagues/dashboard").then(leagues => {
dispatch({
type: GET_LEAGUES,
payload: leagues
});
});
}, 50)
);
};
必须从特定用户获取数据,这就是为什么我要发布用户 ID,然后取回数据。不确定这是否是最好的方法。
澄清一下,我正在使用带有 redux 和 axios 的 MERN 堆栈来执行此操作。我尝试使用这个:MongoDB does not refresh data automatically?,但是当再次调用路由器时,我仍然无法让这个东西刷新/重新获取数据。谢谢。
【问题讨论】:
标签: mongodb mongoose redux axios