2016-11-11 2 views
0

Ich bin eine Express-App mit Mongoose Kommunikation mit einer Mongo DB laufen. Ich habe ein einfaches CMS, um Werte zu aktualisieren. In meiner Staging-Umgebung kann ich beim Aktualisieren der Seite sehen, dass sich das Update in meiner Mongo-Konsole widerspiegelt. Daher weiß ich, dass die Änderung in der Datenbank beibehalten wird. Beim Aufruf meiner API sehe ich jedoch eine zwischengespeicherte Antwort. Wenn ich den Knoten neu starte, sehe ich den korrekten aktualisierten Wert.Mongoose Antwort zeigt im Cache-Sammlung

Seltsamerweise habe ich andere Mongoose-Modelle, die gut zu aktualisieren scheinen. Dies geschieht auch nicht in meiner lokalen Entwicklungsumgebung. Die nächsten Schritte zum Debuggen wären sehr hilfreich, da ich nicht herausfinden kann, wo das Problem liegen würde. Ich kann nur meine Staging-Umgebung annehmen Mongo DB hat eine Art Caching für diese einzelne Sammlung und nicht den Rest, ist das eine Möglichkeit?

Hier ist mein Modellschema:

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

Zusätzlich in meiner API-Antwort-Header, ich habe die Cache auf: Cache-Control:max-age=0

Antwort

0

ich diese verengte an den Browser die Antwort Cachen nach unten, die ungerade ist wie ich andere Anwendungen auf der gleichen Plattform ohne das Problem erstellt habe. Um das Problem zu beheben, fügte ich einfach einen ? zu meinem URL-Pfad hinzu. Also meine letzte Anfrage ist jetzt wie folgt: http://myapp.com/api/homepage?