Detta kan enkelt uppnås med Capped Collections i mongodb.kan du sätta en gräns för antalet dokument, så i ditt fall kan du ställa in maximalt antal dokument till 1 enligt nedan:
db.createCollection("numbers", { capped : true, size:4000, max : 1 } )
Om du också vill ställa in din samling som begränsat från mongoose-schema, kan du göra det med ett begränsat alternativ enligt följande:
var numbersSchema = new mongoose.Schema({
seconds: Number
},{ capped : true, size:4000, max : 1 })
Denna samling kommer alltid att innehålla endast ett dokument som kan uppdateras. Observera att dokumenten när de väl har infogats i samlingar med tak inte kan raderas . Så detta löser även ditt raderingsproblem.
Ävensize
alternativ som du behöver ange, kan vara vilket positivt heltalsvärde som helst, som kommer att konverteras internt av mongo
till ett minimum av 4096 bytes
, eller närmaste multipel av 256. VIKTIGT:
Källa:MONGODB-dokument
Dessutom, om du vill ställa in min- eller max-värdet till sekunder, kan du alltid använda mongoose min- max valideringar. Så följande schema borde fungera för dig.var numbersSchema = new mongoose.Schema({
seconds: { type: Number, min: 60 }
},{ capped : true, size:4000, max : 1 })