我正在运行一个Express应用程序,Mongoose与Mongo数据库进行通信。我有一个简单的页面CMS来更新值。在我的登台环境中,当我更新页面时,我可以看到更新反映在我的Mongo控制台中,所以我知道更改是持久保存到数据库。但是,当我调用我的API时,我看到了一个缓存的响应。如果我重新启动Node,我将看到正确的更新值。
奇怪的是,我有其他Mongoose模型似乎更新。这在我的本地开发环境中也不会发生。调试此操作的后续步骤非常有用,因为我无法找到问题所在。我只能假设我的暂存环境Mongo DB对这个单独的集合有一些缓存而不是其余的,这是否可能?
这是我的模型架构:
import mongoose, { Schema } from 'mongoose';
const HomePage = new Schema({
marquee: {
image: String,
label: String,
headline: String,
copy: String,
linkUrl: String,
linkText: String,
videoText: String,
videoUrl: String
},
updatedAt: {
type: Date,
default: Date.now
},
createdAt: {
type: Date
}
}, {
collection: 'homepage'
});
export default mongoose.model('HomePage', HomePage);
此外,在我的API响应标头中,我将缓存设置为:Cache-Control:max-age=0
答案 0 :(得分:0)
我将其缩小到缓存响应的浏览器,这很奇怪,因为我在同一平台上构建了其他应用程序而没有问题。要解决此问题,我只需在我的网址路径中添加?
即可。所以我的最终获取请求现在如下:http://myapp.com/api/homepage?